WebSocket은 웹 클라이언트와 웹 서버 간의 전이중 통신을 가능하게 하는 기술입니다. 이를 통해 실시간 데이터 전송이 가능하므로 온라인 게임, 인스턴트 메시징, 금융 데이터 스트리밍과 같은 애플리케이션에 이상적입니다.
질문에 언급된 phpwebsockets 라이브러리는 실제로 오래되었으며 최신 WebSocket 프로토콜을 지원하지 않습니다. 또한, 업데이트하면 의도한 대로 작동하지 않을 수 있습니다.
다음은 간단한 WebSocket 서버에 대한 PHP 코드 조각의 예입니다.
<?php $master = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); socket_set_option($master, SOL_SOCKET, SO_REUSEADDR, 1); socket_bind($master, 'localhost', 12345); socket_listen($master, 20); $sockets = array($master); $users = array(); $debug = false; while (true) { $changed = $sockets; socket_select($changed, $write = NULL, $except = NULL, NULL); foreach ($changed as $socket) { if ($socket == $master) { $client = socket_accept($master); if ($client < 0) { console("socket_accept() failed"); continue; } else { connect($client); } } else { $bytes = @socket_recv($socket, $buffer, 2048, 0); if ($bytes == 0) { disconnect($socket); } else { $user = getuserbysocket($socket); if (!$user->handshake) { dohandshake($user, $buffer); } else { process($user, $buffer); } } } } }
이 코드 뼈대는 위에서 설명한 단계를 보여줍니다. 마스터 소켓 생성 및 수신, 들어오는 연결 수락, WebSocket 핸드셰이크 수행, 클라이언트 메시지 처리 등이 포함됩니다. 전체 스크립트는 앞에서 설명한 connect(), Disconnect() 및 process()와 같은 나머지 함수로 보완되어야 합니다.
위 내용은 `socket_*` 함수를 사용하여 PHP에서 WebSocket 서버를 구축하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!