PHP 5.4.33 Released

stream_socket_shutdown

(PHP 5 >= 5.2.1)

stream_socket_shutdownCerrar una conexión full-duplex

Descripción

bool stream_socket_shutdown ( resource $stream , int $how )

Cierra (parcialmente o no) una conexión full-duplex.

Parámetros

stream

Un flujo abierto (con stream_socket_client(), por ejemplo)

how

Una de las siguientes constantes: STREAM_SHUT_RD (deshabilita recepciones), STREAM_SHUT_WR (deshabilita transmisiones) o STREAM_SHUT_RDWR (deshabilita recepciones y transmisiones).

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Un ejemplo de stream_socket_shutdown()

<?php

$servidor 
stream_socket_server('tcp://127.0.0.1:1337');
$cliente stream_socket_client('tcp://127.0.0.1:1337');

var_dump(fputs($cliente"hola"));

stream_socket_shutdown($clienteSTREAM_SHUT_WR);
var_dump(fputs($cliente"hola")); // no funciona ahora

?>

El resultado del ejemplo sería algo similar a:

int(5)

Notice: fputs(): send of 5 bytes failed with errno=32 Broken pipe in test.php on line 9
int(0)

Ver también

  • fclose() - Cierra un puntero a un archivo abierto

add a note add a note

User Contributed Notes 1 note

up
0
jgotti
2 years ago
Just a note to say that if you encounter problem closing some sockets using fclose in a multi client server, you should really  give this one a try.

Spent a full day trying to resolve this issue using stream_socket_shutdown($clientStream,STREAM_SHUT_RDWR);
finally do the trick.
To Top