使用PHP Swoole建立WebSocket连接

 1.安装

pecl install swoole
extension=swoole.so   // 初始化文件中需要包含此句,以启用swoole

运行以上代码安装Swoole, 安装完成后,你需要在 PHP 配置文件(如 php.ini)中添加或启用 Swoole 扩展:

若你与作者一样使用宝塔,那么在php管理中即可无脑安装,在phpinfo中即可查看是否安装完成并支持,(使用宝塔安装的swoole无需动php.ini

2.编写服务端

<?php
// 创建 WebSocket 服务器对象,监听 0.0.0.0:9501 端口
$server = new Swoole\WebSocket\Server("0.0.0.0", 9501);

// 监听 WebSocket 连接打开事件
$server->on('open', function (Swoole\WebSocket\Server $server, $request) {
    echo "WebSocket 连接打开: {$request->fd}\n";
});

// 监听 WebSocket 消息事件
$server->on('message', function (Swoole\WebSocket\Server $server, $frame) {
    echo "收到消息: {$frame->data}\n";
    // 回复客户端消息
    $server->push($frame->fd, "Hello, {$frame->data}!");
});

// 监听 WebSocket 连接关闭事件
$server->on('close', function ($ser, $fd) {
    echo "连接关闭: {$fd}\n";
});

// 启动服务器
$server->start();

保存文件命名为 websocket_server.php,并执行

php websocket_server.php

3.客户端连接

<!DOCTYPE html>
<html>
<head>
    <title>WebSocket Client</title>
    <script>
        var ws = new WebSocket("ws://localhost:9501");

        ws.onopen = function(event) {
            console.log("WebSocket 连接已打开");
            ws.send("Hello, WebSocket Server!");
        };

        ws.onmessage = function(event) {
            console.log("收到服务器消息: " + event.data);
        };

        ws.onclose = function(event) {
            console.log("WebSocket 连接已关闭");
        };
    </script>
</head>
<body>
    <h1>WebSocket Client</h1>
</body>
</html>

快去试试吧,祝你好运

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值