我正在使用C语言创建从客户端到服务器的连接。我使用命令:
iResult = connect(ServerSocket,(LPSOCKADDR)&addr, nSize);
在大多数情况下,当识别出服务器IP(在“addr”中)或在本地网络中时,它会立即返回结果(失败或确定),但如果它是本地网络的IP外部或非存在IP,连接的时间相当长,无法进行实时处理。所以,请你告诉我一个关于如何为这个命令设置超时(几毫秒)的回合?谢谢你的帮助。
答案 0 :(得分:2)
您可以在本文中找到一个示例:
How to set a socket connection timeout
基本上你必须使用非阻塞套接字I / O并使用某种形式的I / O多路复用(如select或poll)。