根据官方文档 http://doc.workerman.net/protocols/example.html,
客户端传输的数据包样本:1001{"userName":"okXU70-dcPj8wBF4-Da4xhhfQXfs","pass":"123456","loginKey":"R2A4PF34"}
其中t是1001;i是{"userName":"okXU70-dcPj8wBF4-Da4xhhfQXfs","pass":"123456","loginKey":"R2A4PF34"}
this.bytes.endian = Laya.Byte.BIG_ENDIAN,
this.bytes.writeUTFBytes(i),
this.sendBytes.writeInt32(this.bytes.length + 4),
this.sendBytes.writeInt32(t),
this.sendBytes.writeArrayBuffer(this.bytes.buffer),
this.socket.send(this.sendBytes.buffer),
直接复制官方例子二的协议实现代码,但是终端报错了
截图里是websocket协议,你发的不符合websocket协议吧
对,服务端使用的websocket协议,客户端不是按照websocket协议发数据导致
利用官方自带的协议 use Workerman\Protocols\Websocket
接收到的数据如下图,有办法将包头的乱码解释成正常的数字吗?乱码部分正确的解释是1001
$int_array = unpack('Nint1/Nint2', $data);
返回的是个数组,里面包含了1001
谢谢,可以了