workerman icon indicating copy to clipboard operation
workerman copied to clipboard

websocket的onMessage方法中是否有办法知道客户端发送的消息是text类型还是binary类型?

Open javalaw opened this issue 1 year ago • 2 comments

$worker->onMessage = function(TcpConnection $connection, $data)
{
      //$data是text还是binary
}

js中的websocket接口可以根据data是string还是array buffer来判断,不过php中都是string。 有些场景下需要根据数据类型处理不同的业务逻辑,我看到Workerman\Protocols\Websocket里面是解析了opcode的,但似乎并没有暴露出来。

javalaw avatar Dec 27 '24 03:12 javalaw

没有暴露

walkor avatar Dec 28 '24 02:12 walkor

@walkor 请教下,那如何在BusinessWorker::onMessage里判断接收的数据是文本还是二进制数据?

zhuwei avatar Aug 28 '25 10:08 zhuwei