使用swoole扩展php websocket示例



<?php
// 引入Swoole命名空间
use Swoole\WebSocket\Server;
use Swoole\Http\Request;
use Swoole\WebSocket\Frame;

// 创建一个WebSocket服务器对象,监听 0.0.0.0:9501端口
$server = new Server("0.0.0.0", 9501);

// 监听数据接收事件
$server->on('open', function (Server $server, Request $request) {
    echo "连接开启: {$request->fd}\n";
});

// 监听数据接收事件
$server->on('message', function (Server $server, Frame $frame) {
    echo "接收消息: {$frame->data}\n";
    // 向客户端发送数据
    $server->push($frame->fd, "服务器: {$frame->data}");
});

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

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

这段PHP代码使用了Swoole扩展来创建一个简单的WebSocket服务器。它监听9501端口,并在客户端连接、发送消息和关闭连接时打印相关信息或向客户端发送消息。注意,实际部署时需要考虑安全性、错误处理和日志记录等方面。