
linux网络
文章平均质量分 90
六一要努力哦
永远不要低谷自己的能力,永远不要高估自己的毅力
展开
-
优雅的关闭连接 --- 使用shutdown和setsockopt(SO_LINGER)实现
优雅关闭:如果发送缓存中还有数据未发出则其发出去,并且收到所有数据的ACK之后,发送FIN包,开始关闭过程。强制关闭:如果缓存中还有数据,则这些数据都将被丢弃,然后发送RST包,直接重置TCP连接。一、使用shudown优雅的关闭连接1.1、close()函数: #include <unistd.h> int close(int fd);close()函数会使套接字的引用计数减1,若套接字的引用计数为0,则彻底关闭连接,并且会关闭TCP两个.原创 2021-03-28 21:56:17 · 2451 阅读 · 3 评论 -
linux网络编程---Epoll详解(API、LT/ET、select/poll/epoll的对比、epoll实例代码)
EPOLL简介: Epoll是Linux下多路复用IO接口select/poll的增强版本,它能显著提高程序存在并发中只有少量活跃的情况下的系统利用率,因为它会服用文件描述符集合来传递结果而不用迫使开发者每次等待事件之前都必须重新准备要被侦听的文件描述符集合,另一点原因是获取事件的时候,它无须遍历整个被侦听的描述符集,只要遍历那些被内核IO事件异步唤醒而加入Ready队列中的描述符集合。Linux下EPOLL的基本APIint epoll_create(int size) ;...原创 2021-03-23 21:11:43 · 354 阅读 · 3 评论