Funktionsname: Socket_Create_Pair ()
Anwendbare Version: Php 4, Php 5, Php 7
Funktionsbeschreibung: Die Funktion von Socket_Create_Pair () wird verwendet, um ein Paar miteinander verbundener Steckdosen zu erstellen, die zur Kommunikation innerhalb desselben Prozesses verwendet werden können.
Syntax: BOOL SCOCKKET_CREATE_PAIR (int $ Domain, int $ type, int $ Protocol, Array & $ fd)
Parameter:
Rückgabewert: Return true, wenn ein Paar miteinander verbundener Sockel erfolgreich erstellt wird. Wenn ein Fehler auftritt, wird False zurückgegeben.
Beispiel:
// 创建一对相互连接的套接字if (socket_create_pair(AF_UNIX, SOCK_STREAM, 0, $fd) === false) { echo "套接字创建失败: " . socket_strerror(socket_last_error()) . "\n"; exit; } // 在两个套接字之间进行通信$pid = pcntl_fork(); if ($pid == -1) { echo "进程创建失败\n"; exit; } elseif ($pid == 0) { // 子进程$message = "Hello from child process!"; socket_write($fd[0], $message, strlen($message)); exit; } else { // 父进程$message = socket_read($fd[1], 1024); echo "接收到的消息: " . $message . "\n"; pcntl_wait($status); // 等待子进程结束exit; }
Im obigen Beispiel erstellen Sie zunächst zunächst socket_create_pair () ein Paar miteinander verbundener Sockets und speichern die Dateideskriptoren der beiden Sockets im $ fd -Array. Anschließend wird ein untergeordneter Prozess über pcntl_fork () erstellt, und der untergeordnete Prozess sendet eine Nachricht an den übergeordneten Prozess. Der übergeordnete Prozess liest die vom untergeordneten Prozess gesendete Nachricht über Socket_read () und gibt sie an die Konsole aus. Warten Sie schließlich, bis der untergeordnete Prozess durch pcntl_wait () endet.