gpt4 book ai didi

select() 可以用于客户端,而不仅仅是服务器吗?

转载 作者:太空宇宙 更新时间:2023-11-03 23:36:34 24 4
gpt4 key购买 nike

我想制作一个建立多个连接的 TCP 客户端,而从它们接收数据的 select() 循环正在单独的线程中运行。不过,我不确定这是可能的,因为 select() 循环已经在运行,因此即使处理了线程安全问题,我也看不到它如何“注意到”添加了新套接字。

有没有办法做到这一点,或者每次建立新连接时我都必须生成一个新线程并使用 recv() 吗?

(为清楚起见进行了编辑。)

最佳答案

当然可以。 <a href="http://linux.die.net/man/2/select" rel="noreferrer noopener nofollow">select()</a>函数接受三组文件句柄,一组用于读取,一组用于写入,一组用于错误。只需将您的套接字添加到读取集中,您就会在服务器向您发送内容时收到通知。

This page有代码显示这是如何完成的。

关于select() 可以用于客户端,而不仅仅是服务器吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1681436/

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