Closing socket graceful
<?php
socket_shutdown($resHandle, 1);//remote host yet can read
usleep(500);//wait remote host
socket_shutdown($resHandle, 0);//close reading
socket_close($resHandle);//finaly we can free resource
?>
socket_shutdown
(PHP 4 >= 4.1.0, PHP 5)
socket_shutdown — Schließt einen Socket der zum Senden, Empfangen oder beidem geöffnet wurde
Beschreibung
bool socket_shutdown
( resource $socket
[, int $how = 2
] )
Mit socket_shutdown() können Sie die Übertragungung hereinkommender, ausgehender oder aller Daten (die Standardeinstellung) über diesen socket abbrechen.
Parameter-Liste
- socket
-
Ein gültiger Socket-Deskriptor, der von socket_create() erzeugt wurde.
- how
-
Der Parameter how kann folgende Werte annehmen:
Mögliche Werte für how 0 Schließe den Socket für hereinkommende Daten (Lesen) 1 Schließe den Socket für ausgehende Daten (Schreiben) 2 Schließe den Socket in beiden Richtungen
Rückgabewerte
Gibt bei Erfolg TRUE zurück, im Fehlerfall FALSE.
socket_shutdown
korvin at biz dot by
21-May-2009 09:12
21-May-2009 09:12
richard dot thomas at psysolutions dot com
23-Nov-2005 06:20
23-Nov-2005 06:20
That is not a good example of a graceful shutdown. One should close the sending side of the socket and continue to read until the remote end closes its sending connection.
ludvig dot ericson at gmail dot com
02-Sep-2005 08:13
02-Sep-2005 08:13
Sockets should be first shutdown and then closed.
<?php
// Sample: Closing sockets gracefully
socket_shutdown($sock, 2);
socket_close($sock);
?>
