2 lonphy23t lonphy23t 于 2013.09.16 15:30 提问

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个回答

wang0077
wang0077   2016.02.24 19:41

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

huangsz83
huangsz83   2016.09.17 16:34

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

u010166386
u010166386   2016.09.20 17:54

有没有解决了?求指教

mastone208
mastone208   2017.04.16 12:24

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

qq_29866705
qq_29866705   2017.04.28 11:57

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

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!