
Unix网络编程
-sky-
这个作者很懒,什么都没留下…
展开
-
TCP三次握手四次挥手
三次握手建立连接首先客户端向服务器发送SYN标志位 第一次握手举个栗子: 客户端给服务器打电话: 我要跟你说话啦!服务器发送SYN和ACK应答 第二次握手服务器响应: 我也要跟你说话了, 收到你的请求了, 每句话编号, 我的下一句编号是Y!客户端发送ACK应答 第三次握手客户端: 我收到你的通话请求了, 我要说的下一句的编号是Z!可靠的消息通信此时客...原创 2019-02-12 14:25:34 · 159 阅读 · 0 评论 -
epoll 的LT和ET模式的区别
很多人都谈论LT和ET效率的问题, 这个问题我们放到最后去谈。先看看触发模式和设计上的区别, 以及编码上的区别。触发模式设计上的区别LT模式是电平触发(Level Trigger), 有消息的时候就会触发, 只要一直有消息, 就一直是触发状态。ET模式是边沿触发(Edge Trigger), 只有消息从无到有才会触发。比如从不可读到可读, 从不可写到可写, 并且只通知一次。 就是通知你一次...原创 2019-02-12 16:27:42 · 1269 阅读 · 0 评论 -
非wait线程即时唤醒epoll_wait
问题情境一般IO复用是使用 one loop per thread 的模型, 一般wait都是可读事件,监听可写需实时添加,如果遇到wait线程在等待可读事件,并一直阻塞下去, 却有一个线程想添加监听可写事件,这时需要唤醒wait,并添加可写事件。解决方案** 直接唤醒wait的方式就是可读事件,那么只需要给wait一个可读事件即可。**因此epoll需要多监听一个套接字作为唤醒wait的...原创 2019-08-21 14:54:25 · 1507 阅读 · 0 评论