swoole的websocket在$ws->on('open'中向push就断开连接了,应该是函数嵌套调用问题三层以上出错

发布于 2022-09-11 23:22:27 字数 803 浏览 19 评论 0

swoole的websocket在$ws->on('open'中向push就断开连接了,原生php没问题不会断开,swoole代码写在tp3.2框架类中的方法就不行
`
class CliAction{

public function index(){
    $redis=new Redis;
    $redis->pconnect('127.0.0.1', 6379); 
    $redis->del('set'); 
    $pool = new RedisPool();

    //创建websocket服务器对象,监听0.0.0.0:9502端口
    $ws = new swoole_websocket_server("0.0.0.0", 9502);

    //监听WebSocket连接打开事件
    $ws->on('open', function ($ws, $request)use($pool) {
        $redis = $pool->get();
        var_dump($request->fd, $request->get, $request->server);
        $redis->sadd('set',$request->fd);
        $ws->push($request->fd, "服务器回复连接成功,redis保存连接".($redis->sismember('set',$request->fd)? '成功':'失败')); //加了这句就在此断开连接
        $pool->put($redis);
    });`

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文