[]socket报错,on: reserved1 = 1, reserved2 = 1, reserved3 = 0

如题;
报错内容 WebSocket connection to 'ws://127.0.0.1:9000/' failed: One or more reserved bits are on: reserved1 = 1, reserved2 = 1, reserved3 = 0
 
百度了一个下午都没解决,不知道这里有没有人遇到过这个错误。后端代码是python写的,自己也不是很熟python,网上找的源码改动的,后端代码是通过二进制返回,如果只返回接收到的客户端发来的字符串内容是可以正常运行的 但是添加其他数据就报错了。
比如实现一个功能是客户端发送一个字符串给后端;然后后端返回 一个int16的数字  一个int32的数字 和收客户端发来的字符串 这三个数据。通过原生的js代码去测试也是这样。应该是服务器的python代码出错了。 不知道有人遇到过这个错误没,原因是什么?
客户端可以正确读取到前面的两个int16和int32 但是后面的字符串读取到的数据是错的,然后就报错了。
package {
import laya.events.Event;
import laya.net.Socket;
import laya.utils.Byte;
import laya.webgl.WebGL;
public class SocketSample {
public var socket:Socket;
private var byte:Byte;
public function SocketSample() {
//初始化引擎

this.byte = new Byte();
this.byte.endian = Byte.LITTLE_ENDIAN;//这里我们采用小端;
this.socket = new Socket();
this.socket.endian = Byte.LITTLE_ENDIAN;//这里我们采用小端;

this.socket.on(Event.OPEN,this,openHandler);
this.socket.on(Event.MESSAGE,this,receiveHandler);
this.socket.on(Event.CLOSE,this,closeHandler);
this.socket.on(Event.ERROR,this,errorHandler);
}
public function connect():void
{
if(!this.socket.connected){
this.socket.connectByUrl("ws://127.0.0.1:9000");//建立连接;
}

}
public function send(msg:String):void
{
if(this.socket.connected){
var byte:Byte = new Byte();
byte.writeUTFString(msg);
this.socket.send(byte.buffer);
}

}

private function openHandler(event:Object = null):void
{
//正确建立连接;
trace("openHandler..");
}
private function receiveHandler(msg:Object = null):void
{
///接收到数据触发函数
trace("receiveHandler msg:",msg);
this.byte.clear();
this.byte.writeArrayBuffer(msg);//把接收到的二进制数据读进byte数组便于解析。
this.byte.pos = 0;//设置偏移指针;
trace('getInt16=',this.byte.getInt16());
trace('getInt32=',this.byte.getInt32());
trace('getString=',this.byte.getString());
}
private function closeHandler(e:Object= null):void
{
//关闭事件
trace("closeHandler..");
}
private function errorHandler(e:Object = null):void
{
//连接出错
trace("errorHandler..",e);
}
}
}
python代码和原生的js代码通过附件上传了。
已邀请:

qian

赞同来自:

你好 非引擎问题我们不在论坛解答
建议你去群里问一下其他的开发者
谢谢

newlearn

赞同来自:

已经解决 是数据写入顺序问题

Kop

赞同来自:

你好 请问你是怎么解决的
 

小懒猪

赞同来自:

你好   我想请问一下 关于websocket出现【 One or more reserved bits are on: reserved1 = 0, reserved2 = 1, reserved3 = 1 】  问题是什么解决的

newlearn

赞同来自:

我是大小端没有和服务器对应好 改成一样就行了 

要回复问题请先

商务合作
商务合作