使用 IOS 9.3.5版连接时,WebSocket 应用程序工作正常,但升级到 IOS 10.2时,应用程序停止工作。
我升级到了 CC3200 SDK 1.2版、但该版本无法解决问题。
我已将问题跟踪到来自 CC3200的升级请求的响应。
CC3200的响应以"http/1.1 Web 套接字协议握手"开头、IOS 10.2预期为"HTTP/1.1 Web 套接字协议握手"。
我不确定这是否应被视为 IOS 或 CC3200错误。 例如、Web 套接字连接可与 Firefox 配合使用、但响应的 Wireshark 捕获不会解码为 WebSocket 升级响应(表示他们期望 HTTP 也是大写。
总之、我对 SDK 进行了以下更改:
已添加
char HTTP_VERSION_1P1_uC[] = "HTTP/1.1";
请访问 HttpHeaders.h
更改了
HttpResponse_AddStringToResponseHeaders (HTTP_VERSION_1P1、strlen (HTTP_VERSION_1P1));
更改为
HttpResponse_AddStringToResponseHeaders (HTTP_VERSION_1P1_UC、strlen (HTTP_VERSION_1P1_UC));
在 HttpCore.c 文件中的 WSCore_HandshakeResponse 中。
希望这能帮助其他人解决这个问题。
主持人,
我发现一个线程报告了一个类似的问题、但没有解决方法。 我将更新该主题、但现在似乎找不到它。 如果您可以更新该线程、那将会很好。