[]服务器websocket c++发送二进制类型包,客户端没有任何事件响应

握手OK,客户端发文本,二进制数据客户端能收到,但服务器端发文本包OK,二进制包就无任何事件响应,大神们有啥见解没?客户端按laya官方示例写的
已邀请:

cuixueying

赞同来自: Zzz18815519

你服务端封装的webSocket数据可能是不标准的,导致客户端收不到数据,你看下服务端是否有报错,解决下!

Zzz18815519

赞同来自:

服务器端        std::string body_str1 = "12345";
        std::string outMsg;
         wsEncodeFrame(body_str1, outMsg, WS_TEXT_FRAME);//就是加上个2字节头
        int32_t send_size = m_socket->send(asio::buffer(outMsg));//客户端能收到

         std::string body_str;
         pbMsg.SerializeToString(&body_str);//protoBuf消息转二进制流
        std::string outMsg2;
        wsEncodeFrame(body_str, outMsg2, WS_BINARY_FRAME);
        send_size = m_socket->send(asio::buffer(outMsg2));//客户端无任何响应,error也没
 
客户端:

socket = new Socket();
//socket.connect("echo.websocket.org", 80);
//socket.connectByUrl("ws://echo.websocket.org:80");
socket.connectByUrl('ws://127.0.0.1:88');//
//output.endian = Byte.LITTLE_ENDIAN;//这里我们采用小端;
output = socket.output;
//socket.endian = Byte.LITTLE_ENDIAN;//这里我们采用小端;
socket.on(Laya.Event.OPEN, this, onSocketOpen);
socket.on(Laya.Event.CLOSE, this, onSocketClose);
socket.on(Laya.Event.MESSAGE, this, onMessageReveived);
socket.on(Laya.Event.ERROR, this, onConnectError);

要回复问题请先

商务合作
商务合作