onWebSocketConnect中进行的主动断开的状态码可否自定义?例如4001而不是默认的1006

amhoho

例如以下代码中在握手时进行了来源验证,这样主动的关闭可否自定义code?目前的状态是网络故障之类1006,而主动关闭也是1006,出现了无限重连了.

//start_getaway.php
$gateway->onConnect = function($connection)
{
    $connection->onWebSocketConnect = function($connection , $http_header)
    {
        if($_SERVER['HTTP_ORIGIN'] != 'http://chat.workerman.net'){
            $connection->close();//此时的主动关闭状态码默认是1006,可否自定义如4001,以便与客户端的自动重连区分开来.
        }
    };
};
843 3 0
3个回答

静默

https://wenda.workerman.net/question/2980

start_gateway.php里加一句
$gateway->onWebSocketClose($connection) {
    // 注意最后一个参数是true
    $connection->close("\x88\x02\x27\x10", true);
};

群主发的黑科技,试下

  • 暂无评论
amhoho

这个问题我搜过,但答案并没有得到解决,code还是1006,甚至也看到别的问题说是版本问题,更新了版本还是不行.

  • 暂无评论
walkor

https://github.com/walkor/Workerman/blob/master/Protocols/Websocket.php
更新下这个文件,然后调用close的时候 调用 $connection->close("\x88\x02\x27\x10", true);

  • 暂无评论
🔝