【发布时间】:2011-10-13 20:27:27
【问题描述】:
我正在尝试连接两台机器,比如机器 A 和 B。我正在尝试将 TCP 消息从 A 发送到 B(一种方式)。在正常情况下,这工作正常。当通信顺利时,如果 B 中的套接字关闭,则来自 A 的 send() 将永远卡住。并将进程置于僵尸状态。我在机器 A 中有处于阻塞模式的套接字。下面是永远卡住的代码。
if (send (txSock,&txSockbuf,sizeof(sockstruct),0) == -1) {
printf ("Error in sending the socket Data\n");
}
else {
printf ("The SENT String is %s \n",sock_buf);
}
如何判断对方socket是否关闭??如果目标套接字关闭,发送返回什么?选择会有所帮助。
【问题讨论】: