我很困惑:是否可以/建议组合线程并在 fd 上选择?例如:我想制作一个线程化的 tcp 客户端-服务器程序,客户端可以向服务器发送消息,服务器将其传播给所有连接的客户端(客户端可以继续通信)。
我制作了一个服务器-客户端程序,所有客户端在连接时都有一个单独的线程;但我在beej指南中读到“如果你在accept()调用上阻塞怎么办?你将如何同时接收recv()数据?“使用非阻塞套接字!”没办法!你不想要成为一个 CPU 猪。然后呢?
在这种情况下,我不明白阻塞意味着什么;因为在我的程序中,当我输入文本并按下输入时,文本会发送到服务器,但为什么他的意思是同时接收数据?当我输入文字时?这怎么可能?我想我很困惑 :p 比我认为这些是处理程序的完全不同的方式但是我没有看到选择提供的优势?谢谢