WebSocket服务端发消息给客户端,浏览器收到消息就关闭了

自己按照 Websocket 的 文档写的, 浏览器每次连接上, 一收到消息就断开了
报错:WebSocket connection to 'ws://192.168.1.248:2051/' failed: A server must not mask any frames that it sends to the client.
但是 内容根本就没有mask
然后连网上别的websocket服务器,连上发消息正常, 然后直接对消息抓包 过来原文发送,还是包这个错误;
wireshark 都能识别,但是 浏览器就是一收到就报错断开,,,快崩溃了了~~~~

下面是发送的数据:
char tt[250]={0x81,0x53,0x7b,0x22,0x6a,0x73,0x6f,0x6e,0x72,0x70
,0x63,0x22,0x3a,0x22,0x32,0x2e,0x30,0x22,0x2c,0x22,0x65,0x72,0x72,0x6f,0x72,0x22
,0x3a,0x7b,0x22,0x63,0x6f,0x64,0x65,0x22,0x3a,0x2d,0x31,0x30,0x30,0x30,0x30,0x32
,0x2c,0x22,0x6d,0x65,0x73,0x73,0x61,0x67,0x65,0x22,0x3a,0x22,0x54,0x65,0x73,0x74
,0x5f,0x56,0x61,0x6c,0x75,0x65,0x20,0x69,0x73,0x20,0x6e,0x6f,0x74,0x20,0x76,0x61
,0x6c,0x69,0x64,0x20,0x6a,0x73,0x6f,0x6e,0x22,0x7d,0x7d,0};

重新写了server的发送数据帧, 问题已解决!
代码在这里:
https://github.com/lzpong/WebSocket

收到就报错断开,,,快崩溃了了

怀疑是发送的数据问题,换一个其他简单的数据试试。

就没有人 遇到过???

我的解决方案 , 代码在这里:
https://github.com/lzpong/WebSocket

mask指的是掩码,客户端向服务器发送数据可以有掩码也可以没有掩码,但是服务器向客户端发数据必须不带掩码。

俺遇到了 还没解决不知道怎么解决

俺遇到了 还没解决不知道怎么解决

请问楼主, 你是怎么解决的,我现在也卡在这个问题上, 服务端使用php 就没有问题, 使用c语言,就无法发送。

但是我使用wireshark抓出来的包是一样的。

这个问题我解决了,我遇到的问题 其实不是数据包 打包的问题,而是我在发送 握手协议数据的时候,多发送了一个 \0 回客户端。 它居然会影响到下一次数据!

我是这样解决的,发送数据时,strlen返回的是数组的长度,其中包括字符串结尾的0,我把send()的第三个参数写成准确的字符串长度后就可以正常通信了(**就是下面的strlen((char*_)frame)改一下**),
int result = send(soc, (char*)frame, strlen((char*_)frame), 0);