php - swoole的webSocket类没有connections属性吗?出错了
PHP中文网
PHP中文网 2017-04-11 09:47:35
[PHP讨论组]

Notice: Undefined property: swoole_websocket_server::$connections in /www/server.php on line 34

<?php

// 官网demo
$ws = new swoole_websocket_server("************", 9502);



function broadcast(swoole_websocket_server $ws, $msg, $me = null) {
    foreach($ws->connections as $fd) {
        if($fd != $me) {
            $ws->push($fd, $msg);
        }
    }
}

// 监听WebSocket连接打开事件
$ws->on('open', function (swoole_websocket_server $ws, $request) {
    $ws->push($request->fd, "欢迎接入小孟聊天平台\n");
    broadcast($ws, "用户{$request->fd}登录啦!", $request->fd);
});

// 监听WebSocket消息事件
$ws->on('message', function (swoole_websocket_server $ws, $frame) {
    $msg =  'from'.$frame->fd.":{$frame->data}\n";
    broadcast($ws, $msg);
   // $ws->push($frame->fd, "server: {$frame->data}");
    // $ws->push($frame->fd, "server: {$frame->data}");
});

// 监听WebSocket连接关闭事件
$ws->on('close', function (swoole_websocket_server $ws, $fd) {
    broadcast($ws, "用户{$fd}下线啦!");
});


$ws->start();

这是代码,不是用connections属性吗

PHP中文网
PHP中文网

认证0级讲师

全部回复(3)
天蓬老师

你的系统缺少pcre组件,而connections迭代器需要依赖这个库。

  • 安装pcre-dev(ubuntu)或pcre-devel(centos)

  • 重新编译安装swoole

PHP中文网

PHPz

我安装swoole1.8.7-beta的时候也碰到这个问题,后来安装了pcre还是不行,我想应该是顺序错了,应该先安装pcre再安装swoole应该可以

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号