socket_accept
소켓에서 연결을 수락합니다
함수 이름 : socket_accept ()
해당 버전 : PHP 4> = 4.1.0, PHP 5, PHP 7
사용법 : socket_accept () 함수는 연결 요청을 수락하는 데 사용되며 클라이언트와 통신하기위한 새로운 소켓 리소스를 반환합니다.
구문 : Resource Socket_Accept (Resource $ 소켓)
매개 변수 :
반환 값 : 성공하면 클라이언트와의 커뮤니케이션을 위해 새로운 소켓 리소스를 반환합니다. 실패시 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 ()를 사용합니다.