swoole websocket 刚起的时候可以连接,一会就不行了 failed: Invalid frame header

swoole websocket 刚起的时候可以连接,一会就不行了
报错是:
failed: Invalid frame header
查了一下 进程是在的

clipboard.png

$table = new swoole_table(1024);
        $table->column('fd', swoole_table::TYPE_INT);
        $table->create();


        $serv = new swoole_websocket_server("0.0.0.0", 9502);
        $serv->addlistener('0.0.0.0', 9503, SWOOLE_SOCK_TCP);
        $serv->table = $table;


        $serv->on('Open', function($server, $req) {
            $server->table->set($req->fd, array('fd' => $req->fd));//获取客户端id插入table
            $log =  "connection open: ".$req->fd."\n";
            echo $log;
            Logger::write($log);
        });

    
        $serv->on('Message', function($server, $frame) {
            $fd = $frame->fd;
            $info = $server->connection_info($fd);
            $log = "fd:".$frame->fd." data:".$frame->data."\n";
            echo $log;
            Logger::write($log);
            if( $info['server_port'] == 9503 )
                   $server->push($fd, "you are admin");
             else{
                 $server->push($fd, "this is server");
             }
        });

        $serv->on('Close', function($server, $fd) {
            $log = "connection close: ".$fd."\n";
            $server->table->del($fd); //从table中删除断开的id
            echo $log;
            Logger::write($log);

        });

        $serv->start();

在线求解决方案

加上了日志
结果报
zm_deactivate_swoole (ERROR 9003): worker process is terminated by exit()/die().、
图片描述

阅读 10.7k
2 个回答

你使用的swoole版本是多少?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题