함수 이름 : 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]))).
매개 변수 :
반환 값 : 클라이언트 연결이 성공적으로 허용되면 클라이언트와 통신하기 위해 새 소켓 리소스가 반환됩니다. 오류가 발생하면 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 () 함수를 사용하여 클라이언트 연결 및 서버 연결을 닫습니다.