
服务器/socket
文章平均质量分 87
jack-N
这个作者很懒,什么都没留下…
展开
-
Tcp分包粘包解决方案
Tcp出现分包粘合什么是分包粘包分包粘包解决方案分包粘包什么是分包粘包分包粘包解决方案分包粘包原创 2022-03-11 21:50:41 · 3638 阅读 · 1 评论 -
Nginx 内存池剖析
Nginx 内存池剖析为什么要使用 Nginx 内存池传统直接调用内存分配函数的弊端弊端的解决之道什么是Nginx 内存池什么是内存池技术内存池如何解决弊端内存池的设计思想分而治之Nginx 内存池结构体图内存池模块部分源代码为什么要使用 Nginx 内存池传统直接调用内存分配函数的弊端弊端一:高并发时较小的内存块使用导致系统调用频繁,降低了系统的执行效率弊端2:频繁使用时增加了系统内存的碎片,降低内存使用效率内部碎片 - 已经被分配出去(能明确指出属于哪个进程)却不能被利用的内存空间;产原创 2022-03-06 21:03:07 · 2282 阅读 · 0 评论 -
linux下信号量解决线程同步
信号量问题同一个进程内的各个线程,共享该进程内的全局变量如果多个线程同时对某个全局变量进行访问时,就可能导致竞态。解决办法: 对临界区使用信号量、或互斥量。信号量1)什么是信号量此时所指的“信号量”是指用于同一个进程内多个线程之间的信号量。即POSIX信号量,而不是System V信号量(用于进程之间的同步)用于线程的信号量的原理,与用于进程之间的信号量的原理相同。都有P操作、V操作。信号量的表示:sem_t 类型信号量的初始化sem_init原型:int sem原创 2022-02-21 18:14:33 · 455 阅读 · 0 评论 -
linux下线程使用
什么是线程线程,是进程内部的一个控制序列。即使不使用线程,进程内部也有一个执行线程。为什么要使用多线程使用fork创建进程以执行新的任务,该方式的代价很高。多个进程间不会直接共享内存线程是进程的基本执行单元,一个进程的所有任务都在线程中执行,进程要想执行任务,必须得有线程,进程至少要有一条线程,程序启动会默认开启一条线程,这条线程被称为主线程或 UI 线程线程的优点缺点线程的优点、缺点优点: 创建线程比创建进程,开销要小。缺点: 1)多线程编程,需特别小心,很容易发生错误。2)多线程调原创 2022-02-21 18:02:23 · 780 阅读 · 0 评论 -
linux下高性能网络框架epoll的通信小demo
高性能网络框架 epoll 的通信小 demoepoll 相关 API 介绍测试代码测试效果总结epoll 相关 API 介绍1.创建EPOLL 句柄int epoll_create(int size);2.向EPOLL对象中添加、修改或者删除感兴趣的事件int epoll_ctl(int epfd, int op, int fd, struct epoll_event *event);op取值:EPOLL_CTL_ADD 添加新的事件到epoll中EPOLL_CTL_MOD原创 2021-11-30 20:34:13 · 841 阅读 · 0 评论 -
通过c/c++在linux系统实现Mini型http服务器的并发访问
文章目录预期实现相关设计AIP调用系统函数介绍程序源码相关 html 格式参考文件总结预期实现测试平台:通过 MobaXterm Personal Edition 连接的本地 Ubuntu 4.2.0-27-generic当服务器端程序运行后,在浏览器网址搜索栏输入 192.168.60.132/qiniu.html登录到我的服务器端. 这个ip地址是我电脑的ip地址.在l inux shell 窗口 输入 ip addr 可获取本机ip编译文件由于实现并发访问使用到线程函数 pthread_原创 2021-09-10 22:48:45 · 952 阅读 · 0 评论 -
通过c/c++在linux平台实现服务器/客户端直接的通信
文章目录预期实现通信流程图解相关API服务器端==socket====bind====listen====accpet==客户端socket==connect==相关实现代码服务器端客户端总结预期实现测试平台 Ubuntu 4.2.0-27-generic实现回声服务器的客户端/服务器程序,客户端通过网络连接到服务器,并发送任意一串英文信息,服务器端接收信息后,将每个字符转换为大写并回送给客户端显示。服务器端运行server等待客户端连接客户端运行client连接上服务器端并发送 “this i原创 2021-09-05 09:52:53 · 3171 阅读 · 8 评论