免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 4942 | 回复: 26
打印 上一主题 下一主题

请教socket编程里的select知识 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-07-13 14:12 |只看该作者 |倒序浏览
请问下大家,select函数检测的socket数组,是客户端请求连接的socket,还是服务端通过accept后建立的socket,小弟菜鸟,请您指教,谢谢。

论坛徽章:
0
2 [报告]
发表于 2010-07-13 14:16 |只看该作者
对于select来说,socket就是一个fd,文件描述符,它不管你是客户端,还是服务端,不过一般使用都是在服务端使用。。。

论坛徽章:
0
3 [报告]
发表于 2010-07-13 14:46 |只看该作者
回复 2# rain_fish


  请问下select描述符集合里面的socket是客户端的还是服务端的,谢谢您。

论坛徽章:
0
4 [报告]
发表于 2010-07-13 14:48 |只看该作者
回复  rain_fish


  请问下select描述符集合里面的socket是客户端的还是服务端的,谢谢您。
luokeleee 发表于 2010-07-13 14:46



    如果你在服務端用,肯定就是服務端的,如果在客戶端用,那就是客戶端的,感覺是不是理解的不對?
比如在服務端有鏈接到來,accept會創建一個socket,把這個放到select裏面就可以檢測其是否可讀可寫了。。。

论坛徽章:
0
5 [报告]
发表于 2010-07-13 14:50 |只看该作者
select(2) 就是一个 synchronous I/O multiplexer,你给它哪些描述符,它就去检测那些描述符里是否有处于 ready 状态的了。

论坛徽章:
0
6 [报告]
发表于 2010-07-14 08:36 |只看该作者
回复 4# rain_fish


    请问您下,在服务端的时候,如果客户端有链接请求,而服务端没有accept的时候,select能检测出来吗?小弟想编个程序,就是用select去检测是否有客户端要求链接,如果有,服务端就accept,创建新的socket。检测出来一个客户端的请求就accept一次。请问这样的想法可以实现吗,谢谢。

论坛徽章:
0
7 [报告]
发表于 2010-07-14 08:37 |只看该作者
回复 5# langue


    问您下,通常的情况下,服务端的select里,存放的是不是客户端创建的socket啊,谢谢。

论坛徽章:
1
黑曼巴
日期:2020-02-27 22:54:26
8 [报告]
发表于 2010-07-14 08:48 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
9 [报告]
发表于 2010-07-14 08:48 |只看该作者
回复  rain_fish


    请问您下,在服务端的时候,如果客户端有链接请求,而服务端没有accept的时候, ...
luokeleee 发表于 2010-07-14 08:36



    请问您下,在服务端的时候,如果客户端有链接请求,而服务端没有accept的时候,select能检测出来吗?小弟想编个程序,就是用select去检测是否有客户端要求链接,如果有,服务端就accept,创建新的socket。检测出来一个客户端的请求就accept一次。请问这样的想法可以实现吗,谢谢。
答:一开始需要检查listen的socket,当有连接到来时,该socket会可读,然后调用accept去创建新的连接。。。。

论坛徽章:
0
10 [报告]
发表于 2010-07-14 08:53 |只看该作者
回复 8# c/unix


    我这样理解您看看对不对啊:服务端准备accept的时候,可以通过select检测它关心的accept是否可读,如果可读了,客户端就通过accept创建一个新的socket与客户端进行连接通信。麻烦您了,谢谢。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP