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

stream_socket_accept

stream_socket_server ()에 의해 생성 된 소켓 연결을 허용합니다.
이름:stream_socket_accept
분류:개울
사용 언어:php
한 줄 설명:Stream_Socket_Server () 함수를 통해 생성 된 소켓 연결을 허용하고 클라이언트와의 통신을 위해 새 소켓 연결을 반환합니다.

함수 이름 : stream_socket_accept ()

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

기능 설명 : stream_socket_accept () 함수는 stream_socket_server () 함수로 생성 된 소켓 연결을 수락하고 클라이언트와의 통신을 위해 새 소켓 연결을 반환합니다.

구문 : Resource Stream_Socket_Accept (Resource $ server_socket [, float $ timeout = ini_get ( "default_socket_timeout") [, string & $ peername]))).

매개 변수 :

  • $ server_socket : 필수. stream_socket_server () 함수를 통해 생성 된 소켓 리소스.
  • $ 타임 아웃 : 선택 사항. 클라이언트 연결을 기다리는 시간 초과 시간을 지정합니다. 초 만에 기본값은 ini_get ( "default_socket_timeout"), 즉 php.ini의 기본 타임 아웃 시간입니다.
  • $ peername : 선택 사항. 클라이언트의 IP 주소와 포트 번호를 저장하는 데 사용되는 문자열 변수입니다.

반환 값 : 클라이언트 연결이 성공적으로 허용되면 클라이언트와 통신하기 위해 새 소켓 리소스가 반환됩니다. 오류가 발생하면 False가 반환됩니다.

예 : <? php // 소켓 생성 $ server = stream_socket_server ( 'tcp : //127.0.0.1 : 8080', $ errno, $ errstr);

if (! $ server) {echo "소켓 서버를 만들 수 없습니다 : $ errstr ($ errno)"; } else {echo "클라이언트 연결 대기 ... \ n";

 // 接受客户端连接$client = stream_socket_accept($server); if (!$client) { echo "无法接受客户端连接"; } else { // 与客户端通信$message = "欢迎连接到服务器"; fwrite($client, $message); // 读取客户端发送的数据$data = fread($client, 1024); echo "接收到客户端数据:$data"; // 关闭客户端连接fclose($client); } // 关闭服务器fclose($server);

}?> 위의 예에서 먼저 Stream_Socket_Server () 함수를 사용하여 소켓 서버를 생성하고 로컬 포트 ​​8080에 바인딩 한 다음 Stream_Socket_Accept () 함수를 사용하여 클라이언트가 클라이언트와의 커뮤니케이션을 위해 새 소켓 리소스를 반환 할 때까지 대기합니다. 클라이언트와의 커뮤니케이션 중에 fwrite () 함수를 사용하여 클라이언트에게 환영 메시지를 보내고 fread () 함수를 사용하여 클라이언트가 보낸 데이터를 읽습니다. 마지막으로 fclose () 함수를 사용하여 클라이언트 연결 및 서버 연결을 닫습니다.

유사한 함수
인기 기사