经过两天尝试创建重新连接到服务器的客户端套接字后,我想向您寻求帮助。
IE 我正在启动一个服务器和一个客户端。比我杀死服务器并希望该客户端尝试重新连接,直到我再次启动服务器。
我有一个socketcreate
返回的函数,socket_fd
我用它来第一次连接(它可以工作)。
但是当服务器死掉并且我关闭了以前的服务器socket_fd
并尝试reconnect
使用
时socketcreate
,我得到了一个错误Bad file descriptor
。
但为什么?我之前已经关闭socket_fd
,我再次启动该功能以开始新的连接。
……
while(1) {
send(sock_fd, buf, strlen(buf),0);
if( (numbytes = recv(sock_fd, buf, strlen(buf),0) == 0){
close(sock_fd);
sock_fd = createsocket();
}
- 可以识别丢失的连接吗(我读过是的)。或者 SIGPIPE 会更好地识别 send() 期间丢失的连接?
- 在 while(1) 中重新连接怎么样?