我正在使用 C 语言创建从客户端到服务器的连接。我使用命令:
iResult = connect(ServerSocket,(LPSOCKADDR)&addr, nSize);
在大多数情况下,当识别到服务器 IP(在“addr”中)或在本地网络中时,它会立即返回结果(失败或正常),但如果它是本地网络之外的 IP 或非存在IP,连接超时时间过长,无法响应实时处理。那么,您能否告诉我有关如何设置此命令的超时(几毫秒)的任何想法?感谢您的帮助。
最佳答案
你可以在这篇文章中找到一个例子:
How to set a socket connection timeout
基本上,您必须使用非阻塞套接字 I/O 并使用某种形式的 I/O 多路复用(如选择或轮询)。
关于客户端创建到未知服务器 IP 的连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19022258/