我的要求是,如果服务器启动,客户端将继续尝试与服务器连接,直到成功连接为止。我使用connection.So ()创建了套接字fd,并尝试使用.If()连接。连接失败后,我使用close()关闭fd。
预期的行为是,当下一次尝试相同的文件描述符时,需要由套接字().but为每次尝试生成新的解析器,因为我正在关闭文件解析器,在fail.What可能是issue.Can的情况下,任何人都可以帮助我。
发布于 2011-04-19 14:23:35
如果您希望在建立连接之前反复尝试连接到服务器,只需在调用周围使用循环进行连接即可。socket仅将端点和文件描述符绑定在一起。
while (1) {
state = connect(fd, &sa, sizeof sa);
if (state == 0) {
break
} else {
/* Is the server available yet? */
if (errno == ECONNREFUSED) {
/* No, continue trying to connect. */
continue;
} else {
/* Deal with other errors. */
}
}
}https://stackoverflow.com/questions/4735434
复制相似问题