有关epoll+socket的问题

tryte 2019-01-10 08:14:23
首先一些基本的socket问题
1.若一个socket设置成非阻塞socket,那么调用accept()函数的时候,socket是阻塞还是非阻塞状态?
2.若使用select或者epoll,那么socket还要设置成非阻塞式吗?
3.若socket是阻塞式的,并且使用一个线程去accept()新的客户端,那么在accept()的期间是不是另一个线程去接收或者发送已连接的客户端的数据也会在阻塞状态?
4.还是不是很清楚epoll的用法,网上的资料千篇一律,希望能得到一个epoll+socket的原理和流程描述
...全文
88 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
huanglei104 2019-01-11
  • 打赏
  • 举报
回复 1
引用 楼主 Nelg的回复:
首先一些基本的socket问题
1.若一个socket设置成非阻塞socket,那么调用accept()函数的时候,socket是阻塞还是非阻塞状态?
2.若使用select或者epoll,那么socket还要设置成非阻塞式吗?
3.若socket是阻塞式的,并且使用一个线程去accept()新的客户端,那么在accept()的期间是不是另一个线程去接收或者发送已连接的客户端的数据也会在阻塞状态?
4.还是不是很清楚epoll的用法,网上的资料千篇一律,希望能得到一个epoll+socket的原理和流程描述
1. accept是否阻塞由socket决定的,这个你可以写代码试一试 。2. 使用epoll并不要求socket是非阻塞的,但一般都建议是非阻塞的,因为socket阻塞的话可能导致epoll_wait不能及时返回,处理新的请求。3. 不会,因为是不同的socket。

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧