也可以试着先升级libwebsockets
我们服务器实际没有采用libwebsockets,自己实现了一遍,类似libwebsockets
是的,也可以看下头文件
WebSocket.h和libwebsockets.h 看了下 似乎没有特别的地方,不太懂
问题解决了,很波折,嗯。
如果同样有小伙伴遇到websocket握手协议不通的 可以看看上图两个变量 会具体打印出来 in变量可以通过内存地址 查看具体内容 这个内容是由libwebsocket库返上来的 如果想知道具体的原因,libwebsocket报错判断,可以查看libwebsocket代码,搜索对应的代码。
我的实际报错是上图中的提示,也就是in变量里的,代码是判断了握手协议内容里upgrade字段是否跟websocket一致。
最后实际解决就很简单,把消息头里Upgrade改成websocket。
另外,这张截图是通过 编译模拟器debug看出来的
同时如果需要在windows平台上编译模拟器,最好安装了vs2015 如果安装了其他版本 需要自己手动修改脚本 2015改成对应版本
实际最终导致不一致的问题,猜测应该是浏览器里 js取字符串 有trim去掉了空格,C++字符串不带去空格,所以在模拟器端判断Upgrade字段,对应不上,报错
请问一下,这个改动具体要怎么改呢?消息头是在哪里改呢



