1

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

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();

}
  1. 可以识别丢失的连接吗(我读过是的)。或者 SIGPIPE 会更好地识别 send() 期间丢失的连接?
  2. 在 while(1) 中重新连接怎么样?
4

1 回答 1

3

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

停在那儿。重新连接套接字是不可能的。

于 2013-04-10T10:47:45.680 回答