logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

通过C++实现基于socket的TCP聊天服务器

socket是一套用于不同主机间的API。IP地址用于唯一标识;端口用于区分主机上的不同应用(进程);通过socket可以在不同主机不同应用之间建立一条虚拟通道;(点对点,应用对应用);socket有两种类型,TCP(一对一数据流,不会丢包)和UDP(广播式);

#c++#tcp/ip#服务器
C++学习笔记Day1

无 RAII:手动 new/delete、malloc/free、fopen/fclose 这类原生资源,自己写代码释放。**C++ 异常 (throw/catch):**隐式向上抛出,意外 / 致命错误,靠栈展开传递,有运行时开销。**错误码 (error_code):**显式返回错误状态,可预期、常规错误,纯值传递,性能无损耗。有 RAII:把资源包进类对象,靠构造拿资源、析构自动释放,不用手

#c++#学习
C++学习Day2-cookie,哈希,struct和class区别

Cookie(HTTP Cookie)是浏览器存储在客户端本地的小型文本数据,由服务器下发、浏览器保存,后续请求自动带上。大小限制:单条 Cookie 一般 ≤4KB,单域名下数量有限(通常 50 条内)存储位置:浏览器本地(内存 / 磁盘文件)流向:服务器 → 浏览器保存 → 浏览器下次请求同域名时自动携带本质:浏览器本地小型文本存储,解决 HTTP 无状态,维持用户状态。核心属性速记:生命周期

#c++#学习#开发语言
C++Day4 Boost.Asio Boost.Beast

C++ 刚诞生时,自带的标准库(STL)功能很少:只有容器、字符串、基础算法、IO;没有网络、日期时间、线程、正则、异步 IO、智能指针、文件系统、序列化等常用工具;不同编译器(VC/GCC/Clang)扩展各不兼容,写跨平台代码很痛苦。2000 年左右一群 C++ 大牛,把大量高质量、跨平台的通用工具库整合在一起,这个集合就叫 Boost。

#c++#开发语言
C++Day3 进程和线程通信 同步异步 协程yield 构造析构

进程:操作系统资源最小单位(独立内存、文件句柄、PID、虚拟地址空间,互相隔离)线程:进程内执行单元,共享进程全部内存、文件、句柄,仅私有栈 / 寄存器。

#c++#开发语言
LWIP协议栈 MQTT协议

标准完整 TCP/IP(如 PC Linux 内核协议栈)内存开销大,不适合几 KB~ 几十 KB RAM 的单片机,LwIP 就是为解决这个问题而生。是一套标准 API 函数,封装了 TCP/UDP 底层细节,一套通用接口,Windows/Linux/RTOS+LwIP 全都兼容。,由瑞典计算机科学院开发,专门面向资源受限嵌入式设备(单片机、STM32、ARM Linux 小内核、FPGA、MC

#网络协议#stm32
C++Day3 进程和线程通信 同步异步 协程yield 构造析构

进程:操作系统资源最小单位(独立内存、文件句柄、PID、虚拟地址空间,互相隔离)线程:进程内执行单元,共享进程全部内存、文件、句柄,仅私有栈 / 寄存器。

#c++#开发语言
C++学习Day2-cookie,哈希,struct和class区别

Cookie(HTTP Cookie)是浏览器存储在客户端本地的小型文本数据,由服务器下发、浏览器保存,后续请求自动带上。大小限制:单条 Cookie 一般 ≤4KB,单域名下数量有限(通常 50 条内)存储位置:浏览器本地(内存 / 磁盘文件)流向:服务器 → 浏览器保存 → 浏览器下次请求同域名时自动携带本质:浏览器本地小型文本存储,解决 HTTP 无状态,维持用户状态。核心属性速记:生命周期

#c++#学习#开发语言
C++学习笔记Day1

无 RAII:手动 new/delete、malloc/free、fopen/fclose 这类原生资源,自己写代码释放。**C++ 异常 (throw/catch):**隐式向上抛出,意外 / 致命错误,靠栈展开传递,有运行时开销。**错误码 (error_code):**显式返回错误状态,可预期、常规错误,纯值传递,性能无损耗。有 RAII:把资源包进类对象,靠构造拿资源、析构自动释放,不用手

#c++#学习
到底了