PHP를 사용하여 WebSocket 개발 및 실시간 메시지 푸시 시스템 만들기
// 创建WebSocket服务器实例,监听指定端口 $server = new SwooleWebSocketServer('0.0.0.0', 9501); // 监听WebSocket连接打开事件 $server->on('open', function (SwooleWebSocketServer $server, SwooleHttpRequest $request) { echo "WebSocket连接打开 "; }); // 监听WebSocket消息事件 $server->on('message', function (SwooleWebSocketServer $server, SwooleWebSocketFrame $frame) { echo "收到消息:{$frame->data} "; // 推送消息给所有连接的客户端 $server->push($frame->fd, "服务器收到消息:{$frame->data}"); }); // 监听WebSocket连接关闭事件 $server->on('close', function (SwooleWebSocketServer $server, int $fd) { echo "WebSocket连接关闭 "; }); // 启动WebSocket服务器 $server->start();
위 코드는 Swoole 확장을 사용하여 WebSocket 서버 인스턴스를 생성하고 포트 9501에서 수신 대기합니다. 클라이언트가 연결하거나, 메시지를 보내거나, 연결을 닫을 때마다 해당 이벤트 핸들러가 트리거됩니다.
<!DOCTYPE html> <html> <head> <title>WebSocket示例</title> </head> <body> <script type="text/javascript"> // 创建WebSocket对象,与服务器建立连接 var ws = new WebSocket('ws://localhost:9501'); // 监听WebSocket连接打开事件 ws.onopen = function () { console.log('WebSocket连接已打开'); }; // 监听WebSocket消息事件 ws.onmessage = function (event) { console.log('收到消息:' + event.data); }; // 监听WebSocket连接关闭事件 ws.onclose = function () { console.log('WebSocket连接已关闭'); }; // 发送消息 function sendMessage() { var message = document.getElementById('message').value; ws.send(message); } </script> <input type="text" id="message" placeholder="输入消息" /> <button onclick="sendMessage()">发送消息</button> </body> </html>
위 코드는 브라우저 측에서 JavaScript를 사용하여 WebSocket 객체를 생성하고 서버와 연결을 설정합니다. WebSocket 이벤트를 수신하여 메시지 수신, 메시지 보내기, 연결 종료 캡처 등의 기능을 구현할 수 있습니다.
이제 클라이언트 페이지에 메시지를 입력하여 보내면 서버가 해당 메시지를 받고 응답합니다. 동시에 수신된 메시지가 클라이언트 페이지에 표시됩니다.
WebSocket의 실시간 통신 기능은 웹 개발에 더 많은 가능성을 제공하며 특히 채팅 애플리케이션, 실시간 모니터링 및 알림과 같은 시나리오에 적합합니다. 이 기사가 WebSocket 개발을 시작하고 더 많은 창의성과 아이디어를 불러일으키는 데 도움이 될 수 있다고 믿습니다.
위 내용은 PHP를 사용하여 Websocket을 개발하고 실시간 메시지 푸시 시스템을 만듭니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!