Вы работаете под Linux или Windows?В Linux вы можете разветвить приложение, чтобы запустить сеанс telnet параллельно, и чтобы основной поток завершил сеанс через определенное время, если не получен вывод.1003 * на сокете и следите за временем, проведенным без получения каких-либо данных и закрытия сокета через определенное время.
Редактировать: я только что вспомнил, что вам не нужно отслеживать это вручную :)возможно, может сделать что-то вроде
// Set socket timeout to 10 seconds
socket_set_timeout($fp, 10)
...
$output=fread($fp,128);//Here we read the output value from socket
if($output == false) {
// Code to run if timeout occured
echo "We timed out!";
}
...