thinkphp5 使用workerman

    技术2025-07-14  7

    中间可能有些报错啥的,可在评论区留言,或加QQ:3053916151 

    1. 下载workerman,放到extend目录中

    下载地址: https://www.workerman.net/download

    解压之后

    2. 根目录添加Worker.php文件 [application同级目录]

    <?php define('APP_PATH', __DIR__ . '/application/'); define('BIND_MODULE','push/Worker'); // 加载框架引导文件 require __DIR__ . '/thinkphp/start.php';

    3. 创建push模块,再创建Worker控制器

    4. Worker.php文件中添加内容如下:

    <?php /* workerman的控制器 Author:workerfan */ namespace app\push\controller; use think\worker\Server; class Worker extends Server { // protected $socket = 'websocket://0.0.0.0:8864';//浏览器请求 protected $socket = 'tcp://0.0.0.0:8864';//tcp请求 /** * 收到信息 * @param $connection * @param $data */ public function onMessage($connection, $data) { $connection->send($data); // 客户端发送的数据$data // $connection->send 给客户端返回数据 } /** * 当连接建立时触发的回调函数 * @param $connection */ public function onConnect($connection) { } /** * 当连接断开时触发的回调函数 * @param $connection */ public function onClose($connection) { } /** * 当客户端的连接上发生错误时触发 * @param $connection * @param $code * @param $msg */ public function onError($connection, $code, $msg) { echo "error $code $msg\n"; } /** * 每个进程启动 * @param $worker */ public function onWorkerStart($worker) { } }

    5. 进入linux ,进入到项目根目录 输入命令 php Worker.php start

    6. 客户端在浏览器中输入如下代码

    ws = new WebSocket("ws://ip地址:端口"); ws.onopen = function() { alert("连接成功"); ws.send('发送的数据'); alert("给服务端发送一个字符串:tom"); }; ws.onmessage = function(e) { alert("收到服务端的消息:" + e.data); };

     

     

    Processed: 0.009, SQL: 9