建立多个连接时如何在C中设置套接字超时?

我正在编写一个简单的程序,该程序将多个连接连接到不同的服务器以进行状态检查。所有这些连接都是按需构建的;最多可以同时创建10个连接。我不喜欢“每个套接字一个线程”的想法,因此我将所有这些客户端套接字都设置为“非阻塞”,然后将其放入select()池中。

效果很好,直到我的客户抱怨目标服务器停止响应时,等待时间太长才能获得错误报告。

我已经在论坛中检查了几个主题。有人建议可以使用alarm()信号或在select()函数调用中设置超时。但是我正在处理多个连接,而不是一个。当发生进程范围的超时信号时,我无法在所有其他连接中区分超时连接。

无论如何,有没有改变系统默认的超时时间?


白衣非少年
浏览 447回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP