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.

[参考译文] CC3301:尝试连接到远程服务器

Guru**** 2487425 points
Other Parts Discussed in Thread: CC3301

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1222273/cc3301-trying-to-connect-to-a-remote-server

器件型号:CC3301

大家好

我在尝试连接到远程服务器的 tcp_connect 时遇到困难。


ICAN 使用 dns_gethostbyname(...)解析 IP 地址  

但尝试执行 tcp_connect (...) 至远程服务器总是返回错误代码4.

这是我的代码片段:

LOCK_TCPIP_CORE ();
PCB = tcp_new();
unlock_TCPIP_core();

IP_Addr4 (&ipAddress、172、217、18、100);  // www.google.com's IP 地址

LOCK_TCPIP_CORE ();
RetVal = tcp_connect (pcb、&ipAddress、80、connectCallback);
unlock_TCPIP_core();

uart_print ("tcp_connect 返回:%d \n"、RetVal);

ErrorCode 4是一个路由错误-所以它是与许多网站重定向到 secure(HTTPS)的事实有关?  

"我是不是也在逗我?"  

希望你可以帮助 -谢谢!

此致

Thomas Bødker í nez

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

    尊敬的 Thomas:

    这不应与 HTTPS 连接相关。 我认为您应该使用网络监听器(Wireshark、tcpdump)来查看 TCP 套接字通信。

    BTW…… 我认为与 LwIP 相关的问题最好在 lwip-users 邮件列表中提出。 在这里您可以找到许多 LwIP 专家。 但快速浏览一下、看看您的代码 缺少 tcp_bind()

    1月

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

    你好、Jan

    感谢您的回答和建议。

    我对孔工具链相当陌生、我不是很明显、在哪里可以找到什么信息或支持。  

    此致

    Thomas

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

    您可以查看网络终端示例中的套接字示例(在 CC3301插件中)、但它使用 BSD 套接字 API (在内部调用 TCP API)。 我们还没有 HTTP 客户端示例、但对于连接、至少示例应该没有问题。  

    -4是 ERR_RTE (路由问题),因此绑定 可能会达到目的。

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

    你好 Kobi

    谢谢!

    我尝试了一个 tcp_bind (..) -这没有改变任何东西上  

    如果有一个简单的 TCP 客户端示例-通过 GET 请求检索远程网站、这肯定会很好。

    我尝试过 RAW API 和 Netconn API -两者都产生错误代码-4 (路由问题)

    我将尝试研究 Wireshark 的问题、我将尝试使用插槽示例方法-正如您建议的那样。

    此致

    Thomas   




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

    尝试向 netif_set_default(pNetIF)添加调用-例如在 netif_set_link_up()之后。

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

    你好 Kobi

    你是一个冠军!

    netif_set_default(. ) 做了这个诀窍!

    我认为我的界面已经全部启动并运行了、因为我获得了 IP 地址、并且能够进行 DNS 主机名查找。

    再次感谢您的帮助!  

    此致  

    Thomas