
使用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事件,可以实现接收消息、发送消息和捕获连接关闭等功能。
现在,你可以在客户端页面上输入消息并发送,服务器会收到并回复相应的消息。同时,客户端页面上会显示收到的消息。
立即学习“PHP免费学习笔记(深入)”;
WebSocket的实时通信能力为Web开发提供了更多的可能性,特别适用于聊天应用、实时监控和通知等场景。相信本文能够帮助你入门WebSocket开发,并激发更多创意和想法。
以上就是使用php开发Websocket,打造实时消息推送系统的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号