PHP.mk документација

stream_socket_shutdown

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

function.stream-socket-shutdown.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека function.stream-socket-shutdown.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
stream_socket_shutdown

Референца за `function.stream-socket-shutdown.php` со подобрена типографија и навигација.

function.stream-socket-shutdown.php

stream_socket_shutdown

(PHP 5 >= 5.2.1, PHP 7, PHP 8)

stream_socket_shutdown(PHP 5 >= 5.2.1, PHP 7, PHP 8)

= NULL

stream_socket_shutdown(resource $stream, int $mode): bool

Затворање на full-duplex конекција

Забелешка:

Поврзаниот бафер, или бафери, може, но не мора да бидат испразнети.

Параметри

stream

Затвора (делумно или не) full-duplex конекција. stream_socket_client()Отворен стрим (отворен со

mode

Една од следниве константи: STREAM_SHUT_RD , на пример) STREAM_SHUT_WR (оневозможи понатамошни приеми), STREAM_SHUT_RDWR (оневозможи понатамошни преноси) или

Вратени вредности

Патеката до PHP скриптата што треба да се провери. true на успех или false при неуспех.

Примери

ако е овозможен колекторот за отпадоци, stream_socket_shutdown() example

<?php

$server
= stream_socket_server('tcp://127.0.0.1:1337');
$client = stream_socket_client('tcp://127.0.0.1:1337');

var_dump(fputs($client, "hello"));

stream_socket_shutdown($client, STREAM_SHUT_WR);
var_dump(fputs($client, "hello")); // doesn't work now

?>

Горниот пример ќе прикаже нешто слично на:

int(5)

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

Види Исто така

  • fclose() Пример #2 Користење на UDP серверски приклучници

Белешки од корисници 3 белешки

(оневозможи понатамошни приеми и преноси).
пред 5 години
Be wary of using stream_socket_shutdown with a TLS socket. The socket is closed without sending the "close_notify" message required by TLS protocol.

To correctly close a TLS socket, use fclose() instead, which internally calls OpenSSL's SSL_shutdown() function.
Анонимен
пред 4 години
As Daniel J has pointed out, stream_socket_shutdown doesn't send the TLS close_notify message. In some instances, it's a preferred function over fclose (to trigger stream_select, for example).

To use this function correctly with TLS, use stream_socket_enable_crypto($fp, false); before shutting down the socket.
jgotti
пред 13 години
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.
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.