开发者社区> 问答> 正文

Linux 网络编程 epoll中的EPOLLIN EPOLLOUT如何触发

代码很长只截取关键部分
//服务器端
screenshot
screenshot
screenshot
screenshot

以上是服务器端的主程序 思路是epoll_wait接收到连接就为连接创建一个users存储然后等待后续的操作 但后面EPOLLIN 和EPOLLOUT永远都没法触发 不清楚该怎么触发 另一端写了服务器压力测试程序 和以上代码类似 就是循环创建socket对象然后connect()服务器 但我本意想两端互相发送数据 可connect()后服务器收到创建一个user 继续循环等待 但压力测试程序也在创建完对象后陷入循环等待服务器端的操作 请问该如何触发EPOLLIN和EPOLLOUT信号
以下是压力测试程序关键代码

展开
收起
杨冬芳 2016-07-13 16:59:05 3071 0
1 条回答
写回答
取消 提交回答
  • EPOLLERR通常是自己这一侧做出了一些动作才会触发。 例如 读或者写一个已经关闭掉的fd 这时候才会触发EPOLLERR。 我是这样理解的,err的意思就是说自己做了一些不该做的事情,所以被认为是错误

    答案来源于网络

    2019-09-20 16:20:26
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Session:更加安全、可靠的数据中心网络产品更新 立即下载
Session:极简易用的全球化网络产品更新 立即下载
Session:弹性、高可用、可观测的应用交付网络产品更新 立即下载