
Linux C 网络
通过一些 demo 熟悉Linux C 网络编程
Super小白&
奋斗的小白
展开
-
LinuxC 网络 -- TCP(C/S)IO多路转接(epoll)demo
epoll工作在ET模式的时候,必须使用非阻塞套接口,以避免由于一个文件句柄的阻塞读/阻塞写操作把处理多个文件描述符的任务饿死。epoll维护的树在共享内存中,内核区和用户区去操作共享内存,因此不需要区域转换,也不需要拷贝操作。1、ET模式(边缘触发)只有数据到来才触发,不管缓存区中是否还有数据,缓冲区剩余未读尽的数据不会导致epoll_wait返回;2、边缘触发需要一次性的把缓冲区的数据读完为止,也就是一直读,直到读到EGAIN(EGAIN说明缓冲区已经空了)为止。3、边缘触发需要设置文件句柄为非阻塞。原创 2023-08-03 14:29:00 · 155 阅读 · 0 评论 -
LinuxC 网络 -- TCP(C/S)IO多路转接(poll)demo
【代码】LinuxC 网络 -- TCP(C/S)IO多路转接(poll)demo。原创 2023-08-03 11:18:19 · 137 阅读 · 0 评论 -
LinuxC 网络 -- TCP(C/S)IO多路转接(select)demo
【代码】LinuxC 网络 -- TCP(C/S)IO多路转接(select)demo。原创 2023-08-03 11:08:50 · 141 阅读 · 0 评论 -
LinuxC 网络 -- TCP(C/S)多线程服务器demo
阻塞式IO + 多线程:每来一个客户端创建一个线程。原创 2023-08-03 10:59:16 · 157 阅读 · 0 评论 -
LinuxC 网络 -- TCP(C/S)多进程服务器demo
阻塞式IO + 多进程:每来一个客户端创建一个进程。原创 2023-07-31 21:13:24 · 190 阅读 · 0 评论 -
LinuxC 网络 -- TCP(C/S)循环服务器demo
【代码】LinuxC 网络 -- TCP(C/S)循环服务器demo。原创 2023-07-31 20:46:28 · 154 阅读 · 0 评论 -
LinuxC 网络 -- TCP(C/S)demo
同一时间只能响应一个客户端的请求,将小写字母转换成大写字母。在中间客户端发送数据时候会发生阻塞,无法响应其他客户端。中间客户端下线之后,右端收到消息。原创 2023-07-31 20:30:19 · 231 阅读 · 0 评论