Клиент PHP Socket – обнаружение отключения сервера

У меня есть клиент сокета, который подключается к серверу и ждет отправки строк текста с сервера.

Я открываю соединение с:

$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.

Время от времени соединение нарушается по той или иной причине.

Я хочу иметь возможность обнаруживать сломанное соединение, поэтому я могу начать пытаться снова подключиться.

Есть ли способ обнаружить неисправное соединение? Есть ли что-то, что я могу проверить, когда произойдет тайм-аут потока, который скажет мне, что больше нет соединения?