Wie kann ich feststellen, ob Socket in PHP geöffnet ist?

8

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?

    
John R 14.05.2012, 20:05
quelle

2 Antworten

2
  

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.

    
Mike Purcell 14.05.2012 20:15
quelle
0

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.

    
pcsi 14.05.2012 20:35
quelle

Tags und Links