关于select返回值一直为-1(error总是等于10022)的问题。

yrisxfyh 2018-06-29 01:53:10
在网上超了一段select教学代码,代码主要结构是main里写一个死循环调用accept(),然后创建了一个WorkThread()用于调用select()
程序启动后,没有任何连接的情况下,select一直返回-1,error是10022
网上查了很多,都没有给出解释。

我自己翻了一下ACE的源代码,发现人家就能返回正确值(0),然后又发现他select传递的fd_set参数有一个socket,而这个socket经查询居然是accept所用的socket,即:listen用的socket,

有人了解这个问题么?为什么要这样?写过select的朋友,你们是怎么写的?
...全文
872 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
yrisxfyh 2018-07-01
  • 打赏
  • 举报
回复
参考了老外写的一个实例,他们都是将监听套接字加入fd集合,然后检测到read来获得用户连接,
我已搞明白,此贴完结。

4,386

社区成员

发帖
与我相关
我的任务
社区描述
通信技术相关讨论
社区管理员
  • 网络通信
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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