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

I have a socket client that connects to a server and waits for lines of text to be sent from the server.

I open the connection with:

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

Then:

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

This all works fine. There is no particular interval between messages received. Messages may arrive several per second or not for several minutes.

The stream_set_timeout is set to 60 seconds... if no message has been received then I just loop around and queue the fgets again.

Once in a while, the connection is broken for one reason or another.

I want to be able to detect the broken connection so I can begin to attempt to reconnect.

Is there a way to detect a broken connection? Is there something I can examine when a stream timeout occurs that will tell me there is no longer a connection?