This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC3200-LAUNCHXL:有时 WebSocket 客户端抛出连接错误

Guru**** 2558250 points
Other Parts Discussed in Thread: CC3200

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/686148/cc3200-launchxl-sometime-websocket-client-throws-connection-error

器件型号:CC3200-LAUNCHXL
Thread 中讨论的其他器件:CC3200

当我的客户端从 Chrome 浏览器尝试连接在 CC3200中运行的 WebSocket 服务器时、它会失败并抛出错误。

错误消息未定义。 它只发生在某个时候。

有人之前是否曾遇到过此问题?

注意:它的当前 SDK 和最新 Service Pack、

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    我们需要有关这方面的更多信息。
    Chrome 浏览器显示什么内容?
    CC3200在连接尝试期间是否收到任何事件?
    您能否提供任何日志?
    这些日志可以是监听器日志、终端日志和/或 NWP 日志(请参阅 processors.wiki.ti.com/.../CC3100_&_CC3200_Capture_NWP_Logs 中的说明)

    BR、
    Kobi
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Kobi、

    我能够捕获 Wireshark pcap 文件(已附加)。 它认为 WebClient 获得响应但仍抛出消息。

    数据包比较显示"WS_HandshakeHash" SHA 密钥有一些问题、因为密钥值不存在。

     最后一个握手 消息期间的两个日志都会抛出错误。

    请告诉我它是否有用。 请告诉我背后的原因是什么!

    此致、

    Parth

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    e2e.ti.com/.../Wireshark_5F00_capture_5F00_connect_5F00_error.zipWireshark日志

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Kobi、

    正如我所说、我已附上日志 、您能否 检查并分享 您的发现?  

    此致、
    Partha

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Partha、

    在日志中、我看到 WebSocket 握手发送后、浏览器拒绝(关闭) WebSocket 连接。

    我仍在尝试了解原因。

    您在"数据包比较显示 WS_HandshakeHash SHA 密钥存在问题、因为密钥值不存在"中提到的内容。

    比较哪些数据包? 您在哪里可以看到 SHA 密钥问题?

    BR、

    Kobi

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Partha、

    请更新状态。

    BR、
    Kobi
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Kobi、

    在随附的故障场景日志中、Websock Accept Response 标头 SHA 键似乎有问题。
    当我将其与通过用例进行比较时、密钥响应长度为4字节、而不是20字节。

    我已经验证了多个 LaunchXl 电路板的连接问题。
    此致、
    Partha
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Partha、

    我仍然无法完全理解。
    我刚刚从 SDK1.3.0运行 WebSocket 示例、它立即连接。 我没有使用摄像头、所以没有检查进一步的数据交换、但您的问题似乎是连接问题。
    Sec-WebSocket-Accept (假设这是错误源的含义)。 看起来与您的相似(即不是4字节)-请参阅附件。
    代码中使用的结构本身是固定大小的数组。 请详细解释这一点。

    您正在使用什么浏览器(在什么设备上)?
    以及您使用的 SP 和 SDK 版本是什么?

    BR、
    Kobi

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Partha、

     WS_HandshakeHash 实现中似乎存在错误。

    SHA1结果始终为160位(20B)且为二进制(因此"strlen"错误)。

    以下是固定代码。 请尝试。

    int WS_HandshakeHash (char * InKey、char * OutKey、char * EncOutKey)

    sha1 ((unsigned char *) InKey、(unsigned char *) OutKey);
    // ConvertToBase64 (EncOutKey、OutKey、strlen (OutKey));
    ConvertToBase64 (EncOutKey、OutKey、20);
    返回1;

    请注意、您需要重新编译 WebServer 库、然后再编译 WebSocket 应用程序(确保链接器使用正确的"webserver.a"、这通常是您工作区中的"webserver.a"、即 \webserver\releases\webserver.a)。  

    BR、

    Kobi