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

socket_create_pair

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

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

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

function.socket-create-pair.php

socket_create_pair

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

socket_create_pairCreates a pair of indistinguishable sockets and stores them in an array

= NULL

socket_create_pair(
         int $domain,
         int $type,
         int $protocol,
         array &$pair
): bool

socket_create_pair() Создава пар на неразлични приклучоци и ги чува во низа pairсоздава два поврзани и неразлични приклучоци, и ги чува во

Параметри

domain

На domain . Оваа функција често се користи во IPC (InterProcess Communication). socket_create() параметарот ја специфицира фамилијата на протоколот што ќе се користи од приклучокот. Види

type

На type за целосната листа. socket_create() параметарот ја специфицира фамилијата на протоколот што ќе се користи од приклучокот. Види

protocol

На protocol Обезбедува сигурен слој за датаграми што не гарантира нарачка. Ова најверојатно не е имплементирано на вашиот оперативен систем. domain параметарот поставува специфичен протокол во рамките на наведениот getprotobyname()да се користи при комуникација на вратениот сокет. Правилната вредност може да се добие по име со користење SOL_TCPПрепорачаниот начин за избегнување на SQL инјекција е со врзување на сите податоци преку подготвени изрази. Користењето на параметризирани прашања не е доволно за целосно избегнување на SQL инјекција, но тоа е најлесниот и најбезбедниот начин за обезбедување влез во SQL изразите. Сите динамични литерали на податоци во SOL_UDP може да се користи и.

Константи за известување за грешки socket_create() параметарот го избира типот на комуникација што ќе се користи од приклучокот. Види

pair

за целосната листа на поддржани протоколи. Сокет Референца до низа во која ќе бидат вметнати двата

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

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

Дневник на промени

Верзија = NULL
8.0.0 pair инстанци. Сокет е референца до низа од resources.

Примери

Пример #1 socket_create_pair() example

<?php
$sockets
= array();

/* On Windows we need to use AF_INET */
$domain = (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN' ? AF_INET : AF_UNIX);

/* Setup socket pair */
if (socket_create_pair($domain, SOCK_STREAM, 0, $sockets) === false) {
echo
"socket_create_pair failed. Reason: ".socket_strerror(socket_last_error());
}
/* Send and Receive Data */
if (socket_write($sockets[0], "ABCdef123\n", strlen("ABCdef123\n")) === false) {
echo
"socket_write() failed. Reason: ".socket_strerror(socket_last_error($sockets[0]));
}
if ((
$data = socket_read($sockets[1], strlen("ABCdef123\n"), PHP_BINARY_READ)) === false) {
echo
"socket_read() failed. Reason: ".socket_strerror(socket_last_error($sockets[1]));
}
var_dump($data);

/* Close sockets */
socket_close($sockets[0]);
socket_close($sockets[1]);
?>

Пример #2 socket_create_pair() инстанци сега; претходно, беше референца до низа од

<?php
$ary
= array();
$strone = 'Message From Parent.';
$strtwo = 'Message From Child.';

if (
socket_create_pair(AF_UNIX, SOCK_STREAM, 0, $ary) === false) {
echo
"socket_create_pair() failed. Reason: ".socket_strerror(socket_last_error());
}
$pid = pcntl_fork();
if (
$pid == -1) {
echo
'Could not fork Process.';
} elseif (
$pid) {
/*parent*/
socket_close($ary[0]);
if (
socket_write($ary[1], $strone, strlen($strone)) === false) {
echo
"socket_write() failed. Reason: ".socket_strerror(socket_last_error($ary[1]));
}
if (
socket_read($ary[1], strlen($strtwo), PHP_BINARY_READ) == $strtwo) {
echo
"Received $strtwo\n";
}
socket_close($ary[1]);
} else {
/*child*/
socket_close($ary[1]);
if (
socket_write($ary[0], $strtwo, strlen($strtwo)) === false) {
echo
"socket_write() failed. Reason: ".socket_strerror(socket_last_error($ary[0]));
}
if (
socket_read($ary[0], strlen($strone), PHP_BINARY_READ) == $strone) {
echo
"Received $strone\n";
}
socket_close($ary[0]);
}
?>

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

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

- Поврзува име со приклучок
пред 16 години
The underlying sockpair() function does only support AF_UNIX at least on BSD and Linux.
На оваа страница

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

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

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

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

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