websocket关闭状态码问题

cxm

使用workerman或gatewayworker创建websocket连接。服务端使用 $connection->close();
主动关闭websocket连接.

客户端提示状态码为1006 (Abnormal Closure) ,不是正常关闭的1000 (Normal Closure),请问这个正常关闭的websocket状态码可以在哪里设置?

使用workerman和gatewayworker主动关闭连接都有同样的状态码

客户端使用 Textalk/websocket-php 和 dwst.github.io
服务端使用 workerman 和 gatewayworker

12753 1 0
1个回答

walkor 打赏

这个需要服务端发送一个websocket关闭的包,包里面包含状态码

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

workerman的话也是类似做法
$worker->onWebSocketClose($connection) {
// 注意最后一个参数是true
$connection->close("\x88\x02\x27\x10", true);
};

  • cxm 2018-07-04

    感谢walkor大的回复,已经得到解决!

年代过于久远,无法发表回答
×
🔝