gpt4 book ai didi

sockets - select()ing概念写入fd_set

转载 作者:行者123 更新时间:2023-12-03 11:56:28 25 4
gpt4 key购买 nike

从我从select()的所有文档中了解的内容来看,似乎可以将写入fd_set上的select() ing用于检查send() ing的套接字(描述符)可用性,从而可以用来检测成功的非阻塞connect()尝试,但是我没有得到的是,什么时候成功connect()accept()之后套接字什么时候变得不可用?
从理论上讲,这是否意味着该套接字始终可用于send() ing?

最后一个问题,在整个 session 中保持select() ing连接的套接字进行写操作是否可行?

谢谢。

最佳答案

套接字无法写入的最常见情况是,当连接通过相对较慢的网络链接时,您的应用程序可能会饱和该网络链接。操作系统将缓冲有限数量的数据,因此在发送更多数据之前,您的应用程序必须通过检查套接字是否可用(表明已发送一些数据并且缓冲区具有可用空间)来约束自己。

至于您的其他问题,如果单个线程正在使用任何类型的多个套接字,例如Web服务器,使用select()以便有效地管理它们当然是有意义的。

关于sockets - select()ing概念写入fd_set,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4244453/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com