websocket 通讯 A server must not mask any frames that it sends to the client.

主要用C开发服务器端(websocket):握手,拆包都正常,但发送给浏览器的老是自动断开,一开始以为是粘包问题,结果最后用最简单是例子(只处理握手和发包,接的包不处理)也是如此,

    unsigned char frame[] = {0x81,0x01,0x68}; // h
    send(connfd, frame, strlen(frame),0);

这个数据帧够简单了吧?(握手,读取浏览器的帧正常)
但结果确实这样:

A server must not mask any frames that it sends to the client.

但当我换成PHP时却一切正常,主要代码如下功能和上面的一样:

    $data = pack('H*', implode('',array('81', '01', '68')));
    socket_send($conn, $data, strlen($data), 0);

使用sokit模拟客户端收到的包内容一模一样,如下:

12:45:07 DAT---> <3> ..h
[81 01 68]

无语了。。。。,

5个回答

解决了嘛兄弟 跟你的问题一样

我也遇到这个问题了。有没有解决了?

有没有解决了?求指教

我也遇到相同的问题,解决了。 我的问题出回在握手包时,向客户端多发送了一个字节,然后就这样了。

我也遇到相同的问题了,求解决

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问