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

socket_accept

소켓에서 연결을 수락합니다
이름:socket_accept
분류:소켓
사용 언어:php
한 줄 설명:연결 요청을 수락하고 클라이언트와 통신하기위한 새 소켓 리소스를 반환하십시오.

함수 이름 : socket_accept ()

해당 버전 : PHP 4> = 4.1.0, PHP 5, PHP 7

사용법 : socket_accept () 함수는 연결 요청을 수락하는 데 사용되며 클라이언트와 통신하기위한 새로운 소켓 리소스를 반환합니다.

구문 : Resource Socket_Accept (Resource $ 소켓)

매개 변수 :

  • $ Socket : Socket_create () 또는 Socket_accept ()에 의해 반환 된 소켓 자원이 필요합니다.

반환 값 : 성공하면 클라이언트와의 커뮤니케이션을 위해 새로운 소켓 리소스를 반환합니다. 실패시 False를 반환하면 Socket_last_error ()를 통해 오류 코드를 얻을 수 있습니다.

예:

 // 创建套接字$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); // 绑定套接字到IP 地址和端口socket_bind($socket, '127.0.0.1', 8080); // 开始监听连接socket_listen($socket); // 接受客户端连接请求$clientSocket = socket_accept($socket); // 与客户端进行通信while (true) { // 从客户端接收数据$data = socket_read($clientSocket, 1024); // 处理数据// 向客户端发送响应socket_write($clientSocket, "Hello, client!"); // 结束通信if ($data === 'quit') { socket_close($clientSocket); break; } } // 关闭套接字socket_close($socket);

위의 예에서는 소켓을 생성하고 로컬 포트 ​​8080에 바인딩 한 다음 Socket_Listen () 함수를 통해 연결을 듣기 시작합니다. 클라이언트 연결 요청이 있으면 Socket_accept ()를 사용하여 연결을 수락하고 새 소켓 리소스 $ ClientSocket을 반환합니다. 그런 다음 루프를 입력하고 Socket_read ()를 통해 클라이언트로부터 데이터를 수신 한 다음 데이터를 처리하고 Socket_write ()를 통해 클라이언트에 응답을 보냅니다. 수신 된 데이터가 "종료"인 경우 클라이언트와의 연결이 닫히고 통신이 종료됩니다. 마지막으로 소켓을 닫기 위해 socket_close ()를 사용합니다.

유사한 함수
  • 소켓 용 소켓 옵션을 얻으십시오 socket_get_option

    socket_get_option

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

    socket_select

    지정된타임아웃소켓어레이에서select
  • 소켓에서 연결을 수락합니다 socket_accept

    socket_accept

    소켓에서연결을수락합니다
  • 이름을 소켓에 바인딩하십시오 socket_bind

    socket_bind

    이름을소켓에바인딩하십시오
  • 구별 할 수없는 소켓 한 쌍을 만들고 배열에 보관하십시오. socket_create_pair

    socket_create_pair

    구별할수없는소켓한쌍을만들고배열에보관하
  • 소켓의 소켓 옵션을 설정하십시오 socket_set_option

    socket_set_option

    소켓의소켓옵션을설정하십시오
  • 소켓 리소스에서 차단 모드를 설정하십시오 socket_set_block

    socket_set_block

    소켓리소스에서차단모드를설정하십시오
  • 주어진 소켓의 로컬 엔드를 쿼리하여 유형에 따라 호스트/포트 또는 Unix 파일 시스템 경로를 초래할 수 있습니다. socket_getsockname

    socket_getsockname

    주어진소켓의로컬엔드를쿼리하여유형에따라