ZBLOG

php 如何实现 websocket

  1. 安装 PHP 的 WebSocket 扩展,例如 Swoole、Ratchet 等。
  2. 创建一个 WebSocket 服务器,监听客户端的连接请求。
  3. 编写事件处理程序,处理客户端发送的数据和断开连接等事件。
  4. 在客户端上使用 JavaScript 创建一个 WebSocket 对象,并连接到服务器。
  5. 发送消息给服务器,并接收来自服务器的消息。

示例代码:

使用 Swoole 实现 WebSocket 服务器

$server = new \Swoole\Websocket\Server('0.0.0.0', 9501);

// 监听 WebSocket 连接事件
$server->on('open', function (\Swoole\Websocket\Server $server, \Swoole\Http\Request $request) {
    echo "WebSocket 连接成功\n";
});

// 监听 WebSocket 消息事件
$server->on('message', function (\Swoole\Websocket\Server $server, \Swoole\Websocket\Frame $frame) {
    echo "收到消息:{$frame->data}\n";

    // 向客户端发送消息
    $server->push($frame->fd, 'Hello, World!');
});

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

$server->start();

在前端使用 JavaScript 创建 WebSocket 对象

const socket = new WebSocket('ws://localhost:9501');

// 监听连接成功事件
socket.addEventListener('open', event => {
  console.log('WebSocket 连接成功');
  
  // 发送消息给服务端
  socket.send('Hello, Server!');
});

// 监听收到消息事件
socket.addEventListener('message', event => {
  console.log(`收到消息:${event.data}`);
});

// 监听连接关闭事件
socket.addEventListener('close', event => {
  console.log('WebSocket 连接关闭');
});

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=4438

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?