如何将JavaScript客户端WebSocket代码转为Bloatless PHP代码接收服务端数据
PHP实现WebSocket客户端接收服务端消息方案
1. 安装依赖
通过composer安装对应WebSocket组件,执行命令:composer require bloatless/php-websocket
2. 功能代码实现
以下代码完全对应你提供的JavaScript逻辑:连接指定WebSocket地址,接收服务端消息后解析JSON并打印对应字段:
<?php // 引入composer自动加载文件 require __DIR__ . '/vendor/autoload.php'; use Bloatless\WebSocket\Client; // 初始化客户端并连接服务端,对应JS的new WebSocket(serverUrl) $wsClient = new Client([ 'uri' => 'ws://127.0.0.1:8000/chat', ]); // 监听消息接收事件,对应JS的socket.onmessage $wsClient->on('message', function (string $messageData) { $response = json_decode($messageData, true); // 打印返回的data字段,对应JS的console.log(response.data) echo $response['data'] . PHP_EOL; }); // 启动客户端保持连接,持续监听服务端消息 $wsClient->run(); ?>
3. 运行注意事项
- 该代码仅可在PHP CLI(命令行)模式下运行,不可用于Web请求场景,否则会因请求超时自动断开连接
- 执行命令为
php 你的代码文件名.php,运行后即可实时接收服务端推送的消息 - 若需要处理连接错误、连接断开等场景,可额外监听
error、close事件补充对应逻辑即可
内容的提问来源于stack exchange,提问作者Hardiyana Hardiyana
相关产品推荐
相关产品推荐

