현재 위치: > 함수 카테고리 모음> socket_create_pair

socket_create_pair

구별 할 수없는 소켓 한 쌍을 만들고 배열에 보관하십시오.
이름:socket_create_pair
분류:소켓
사용 언어:php
한 줄 설명:동일한 프로세스 내에서 통신하는 데 사용할 수있는 상호 연결된 소켓 한 쌍을 만듭니다.

함수 이름 : socket_create_pair ()

해당 버전 : PHP 4, PHP 5, PHP 7

기능 설명 : Socket_create_pair () 함수는 동일한 프로세스 내에서 통신하는 데 사용할 수있는 상호 연결된 소켓 한 쌍을 만드는 데 사용됩니다.

구문 : bool socket_create_pair (int $ domain, int $ 유형, int $ protocol, array & $ fd)

매개 변수 :

  • $ 도메인 : 소켓의 프로토콜 도메인. 지원되는 프로토콜 도메인에는 AF_INET (IPv4 네트워크 프로토콜), AF_INET6 (IPv6 네트워크 프로토콜) 및 AF_UNIX (로컬 UNIX 파일 시스템 소켓)가 포함됩니다.
  • $ 유형 : 소켓 유형. 지원되는 소켓 유형에는 SOCK_STREAM (스트림 소켓, 신뢰할 수있는 연결 지향 소켓) 및 SOOK_DGRAM (데이터 그램 소켓, 연결이없고 신뢰할 수없는 소켓)이 포함됩니다.
  • $ 프로토콜 : 소켓 프로토콜. ipproto_tcp (tcp protocol) 또는 ipproto_udp (UDP 프로토콜) 일 수 있습니다.
  • $ FD : 두 개의 소켓 파일 디스크립터가 포함 된 배열. 성공적인 생성 후, 첫 번째 소켓의 파일 디스크립터는 $ FD [0]에 저장되는 반면, 두 번째 소켓의 파일 디스크립터는 $ FD [1]에 저장됩니다.

반환 값 : 반환 True 한 쌍의 상호 연결된 소켓이 성공적으로 생성 된 경우. 오류가 발생하면 False가 반환됩니다.

예:

 // 创建一对相互连接的套接字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; }

위의 예에서 먼저, socket_create_pair ()를 사용하여 상호 연결된 소켓 한 쌍을 만들고 두 소켓의 파일 설명자를 $ FD 배열에 저장합니다. 그런 다음 PCNTL_FORK ()을 통해 하위 프로세스가 생성되고 아동 프로세스는 부모 프로세스에 메시지를 보냅니다. 상위 프로세스는 Socket_read ()를 통해 하위 프로세스가 보낸 메시지를 읽고 콘솔로 출력합니다. 마지막으로, 아동 프로세스가 PCNTL_WAIT ()를 통해 끝날 때까지 기다리십시오.

유사한 함수
  • 주어진 소켓의 원격 끝을 쿼리하여 유형에 따라 호스트/포트 또는 Unix 파일 시스템 경로를 초래할 수 있습니다. socket_getpeername

    socket_getpeername

    주어진소켓의원격끝을쿼리하여유형에따라호
  • 연결된 소켓에서 데이터를 수신합니다 socket_recv

    socket_recv

    연결된소켓에서데이터를수신합니다
  • 다른 프로세스에서 소켓을 가져옵니다 socket_wsaprotocol_info_import

    socket_wsaprotocol_info_import

    다른프로세스에서소켓을가져옵니다
  • socket_get_option의 별칭 socket_getopt

    socket_getopt

    socket_get_option의별칭
  • 소켓을 닫으려면 수신, 보내거나 둘 ​​다 socket_shutdown

    socket_shutdown

    소켓을닫으려면수신,보내거나둘​​다
  • 소켓 오류를 설명하는 문자열을 반환합니다 socket_strerror

    socket_strerror

    소켓오류를설명하는문자열을반환합니다
  • 소켓 용 소켓 옵션을 얻으십시오 socket_get_option

    socket_get_option

    소켓용소켓옵션을얻으십시오
  • 지정된 타임 아웃 소켓 어레이에서 select () 시스템 호출 실행 socket_select

    socket_select

    지정된타임아웃소켓어레이에서select
인기 기사