Use PHP to develop WebSocket to create a real-time message push system
// 创建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();
The above code uses the Swoole extension to create a WebSocket server instance and listen to port 9501. Whenever a client connects, sends a message, or closes a connection, the corresponding event handler is triggered.
<!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>
The above code uses JavaScript on the browser side to create a WebSocket object and establish a connection with the server. By listening to WebSocket events, functions such as receiving messages, sending messages, and capturing connection closures can be implemented.
Now, you can enter a message on the client page and send it, and the server will receive and reply with the corresponding message. At the same time, the received message will be displayed on the client page.
WebSocket's real-time communication capabilities provide more possibilities for Web development, especially suitable for scenarios such as chat applications, real-time monitoring and notifications. I believe this article can help you get started with WebSocket development and inspire more creativity and ideas.
The above is the detailed content of Use php to develop Websocket and create a real-time message push system. For more information, please follow other related articles on the PHP Chinese website!