Ich muss einige Sockets pflegen, die ich mit PHP geöffnet habe, und diese Sockets in regelmäßigen Abständen überprüfen. Ich bin neu in Sockets in PHP; Ich habe die Steckdosen wie folgt geöffnet:
%Vor%Einige der Sockets können in einen Zustand gelangen, in dem sie keine Nachrichten zurückgeben; Diese Sockets empfangen nur Nachrichten. Wie kann ich feststellen, ob ein Socket geöffnet ist, wenn der Socket nicht auf eine Nachricht reagiert?
socket_sendto - Sendet eine Nachricht an einen Socket, unabhängig davon, ob sie verbunden ist oder nicht
Scheint so, als könntest du socket_sendto verwenden und ein paar 'ping' Daten an die Remote-Host, dann testen Sie den Rückgabewert, um festzustellen, ob der Socket noch eingerichtet ist.
Es ist besser, die Funktion zu verwenden: fsockopen ()
Lesen Sie hierzu: Ссылка
oder Sie könnten versuchen, die Funktion zu verwenden: socket_create_listen ()
Lesen Sie dies: Ссылка
(dieser ist nur experimentell.)
und in regelmäßigen Abständen zu überprüfen, könnten Sie es mit einem einfachen Cron machen.