C套接字重新连接

时间:2013-04-10 10:30:31

标签: c sockets reconnect

在尝试创建重新连接到服务器的客户端套接字两天后,我想请求您的帮助。

即。我正在启动一个服务器和一个客户端。比我杀死服务器并希望该客户端尝试重新连接,直到我再次启动服务器。

我有一个函数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();

}
  1. 可以识别丢失的连接(我读过是的)。或者SIGPIPE会更好地识别send()期间丢失的连接?
  2. 如何重新连接(1)?

1 个答案:

答案 0 :(得分:2)

  

尝试创建重新连接到服务器的客户端套接字两天后

停在那儿。无法重新连接套接字。