Я использую fsockopen() для отправки данных по TCP на удаленный хост:
fsockopen()
$s = fsockopen($host, $port); fwrite($s, $data); fclose($s);
Как впоследствии определить, было ли соединение закрыто (с FIN) или прервано (с RST)по удаленному хосту?
Согласно документации socket_last_error () и socket_send () могут быть полезны для вас:
socket_send() returns the number of bytes sent, or FALSE on error. socket_last_error() returns the last error on the socket
Я считаю, что PHP способен обнаруживатьесли соединение было закрыто, однако не уверены в этом.