PHP Socket客户端 - 检测服务器断开连接

时间:2012-07-12 12:27:20

标签: php sockets

我有一个连接到服务器的套接字客户端,等待从服务器发送文本行。

我打开连接:

$handle = fsockopen(MY_IP_ADDRESS,MY_PORT,$sockErrno,$sockErrStr);
stream_set_blocking($handle,1);
stream_set_timeout($handle,MY_SOCKET_TIMEOUT);

然后:

while (true) {
   $inString = fgets($handle,256);
   do some stuff with the received data... 
}

一切正常。收到的消息之间没有特定的间隔。消息可能每秒钟到达几次或几分钟。

stream_set_timeout设置为60秒......如果没有收到任何消息,那么我只是循环并再次排队fgets。

偶尔,连接因某种原因而中断。

我希望能够检测到断开的连接,以便我可以开始尝试重新连接。

有没有办法检测断开的连接?当流超时发生时,我能检查一下会告诉我不再有连接吗?

0 个答案:

没有答案