摘要:
llinux epoll系列4 利用epoll_wait实现非阻塞的connect connect函数是阻塞的,而且不能设置connect函数的timeout时间,所以一旦阻塞太长时间,影响用户的体验,所以就出来一个需求,硬要设置connect的timeout时间。 实现方法:先把connect函数 阅读全文
摘要:
linux epoll系列3 利用epoll_wait设置timeout时间长度 epoll_wait函数的第四个参数可以设置,epoll_wait函数的等待时间(timeout时间长度)。 例子1,是接收端。 例子2,是发送端。 例子1,接收端 "github源代码" 运行方法:先运行接收端,再运 阅读全文
摘要:
linux epoll系列2 利用epoll_wait查看是否可以送信 write函数本来是非阻塞函数,但是当缓存区被写满后,再往缓存区里写的时候,就必须等待缓存区再次变成可写,所以这是write就变成了阻塞了,这个进程或者线程就堵住了,不能被响应了。 epoll_wait函数可以判断出,缓存区是否 阅读全文
摘要:
linux epoll系列1 创建epoll 据说select和poll的弱点是,随着连接(socket)的增加,性能会直线下降。 epoll不会随着连接(socket)的增加,性能直线下降。 知识点: 1,epoll_wait函数是阻塞的,直到有socket发生变化。 2,epoll使用流程,先创 阅读全文