stream_socket_pair

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

stream_socket_pair Crea un par de sockets conectados e inseparables

Descripción

function stream_socket_pair(int $domain, int $type, int $protocol): array|false

stream_socket_pair() crea un par de sockets conectados e inseparables. Esta función se utiliza comúnmente en IPC (InterProcess Communication).

Parámetros

domain

La familia de protocolo a utilizar: STREAM_PF_INET, STREAM_PF_INET6 o STREAM_PF_UNIX

type

El tipo de comunicación a utilizar: STREAM_SOCK_DGRAM, STREAM_SOCK_RAW, STREAM_SOCK_RDM, STREAM_SOCK_SEQPACKET o STREAM_SOCK_STREAM

protocol

El protocolo a utilizar: STREAM_IPPROTO_ICMP, STREAM_IPPROTO_IP, STREAM_IPPROTO_RAW, STREAM_IPPROTO_TCP o STREAM_IPPROTO_UDP

Nota: Consulte la lista de constantes de flujo para más detalles sobre cada constante.

Valores devueltos

Devuelve un array que contiene los recursos de los dos sockets en caso de éxito, o false en caso de fallo.

Ejemplos

Ejemplo #1 Ejemplo con stream_socket_pair()

Este ejemplo muestra un uso básico de stream_socket_pair() en una comunicación interprocesos.

<?php

$sockets = stream_socket_pair(STREAM_PF_UNIX, STREAM_SOCK_STREAM, STREAM_IPPROTO_IP);
$pid     = pcntl_fork();

if ($pid == -1) {
  die('Imposible bifurcar');

} else if ($pid) {
  /* padre */
  fclose($sockets[0]);

  fwrite($sockets[1], "PID hijo: $pid\n");
  echo fgets($sockets[1]);

  fclose($sockets[1]);

} else {
  /* hijo */
  fclose($sockets[1]);

  fwrite($sockets[0], "mensaje del hijo\n");
  echo fgets($sockets[0]);

  fclose($sockets[0]);
}

?>

Resultado del ejemplo anterior es similar a:

PID hijo: 1378
mensaje del hijo

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top