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.
工具/软件:TI C/C++编译器
您好!
我们已使用 SDK 2_30_00_05成功开发了使用 HTTP GET 和 POST 的应用 、然后将我们的应用转移到新的 SDK 3_30_01_02、并成功完成了全部 include 和编译 。 在进行调试时生成 HTTP GET 错误2006、我们已经检查了主机名、API 等。此代码仍在使用较旧的 SDK 2_30。
请帮助
您好!
哪个命令会准确返回-2006 (sl_RET_CODE_INVALID_input)值?
请在代码中分步执行(或使用打印件来调试)、以找到确切的故障点。
BR、
Kobi
您好!
我们从 HTTP Connect 函数中收到错误、我们还尝试了 SDK 中的 HTTP GET 示例(主机名和 API 根据我们的应用进行了更改)、但仍然存在相同的问题。 我们尝试调试并发现库中的错误(我们未做任何更改),gethostbyname 函数返回此错误。
请检查 gethostbyname 的参数、并将其与您在工作 SDK 中传递的参数进行比较。
BR、
Kobi
您好!
我们已经检查了这些参数、我们将传递与工作 SDK 中相同的参数。 我们观察到、具有函数的库文件在新 SDK 中是不同的/修改的、看起来不同。 此外、我们还尝试了新的 SDK HTTP GET 示例、它给出了相同的错误。
你(们)好
我将在附件中共享我的代码、在旧的 SDK 中它可以正常工作、在新的 SDK 中不能正常工作、此示例文件来自新的 SDK。
2006由您可以跟踪确切故障点的主机生成。
它可能与未启用的接口有关。
您的应用程序初始化中应包含以下代码(或类似代码):
/*网络堆栈已就绪。 初始化套接字层*/
状态= SlNetSock_init (0);
if (status!= 0){
/* SlNetSock_init 失败*/
while (1);
}
状态= SlNetIf 初始化(0);
if (status!= 0){
/* SlNetIf 初始化失败*/
while (1);
}
状态= SlNetUtil_init (0);
if (status!= 0){
/* SlNetUtil_init 失败*/
while (1);
}
/*使用套接字层注册 WiFi 接口*/
状态= SlNetIf_add (SLNETIF_ID_1、SLNET_IF_WIFI_NAME、
(const SlNetIf Config_t *)&SlNetIfConfigWifi、SLNET_IF_WIFI_PRIO);
if (status!= 0){
/* SlNetIf 添加失败*/
while (1);
}
最新的 SDK 版本可在一个称为 slNetScok 的抽象层上工作,该抽象层可轻松替换接口(例如,在 WiFi 和以太网之间),而不是直接调用 wifi sl_…… API。
您需要启用 slNetSock 和 slNetIf 才能启用 HTTP。
BR、
Kobi
你(们)好
我们检查了您建议的任何内容、并且已经完成了我们的示例。 您还可以创建 HTTP GET 示例、并从共享文件中获取参数、并尝试创建参数。
当使用的套接字关闭时、返回-2006。 是否确定套接字状态?
您是否能够在新 SDK 中使用参考"HttpGet"示例?
请提供固件日志(https://processors.wiki.ti.com/index.php/CC3120_&_CC3220_Capture_NWP_Logs)?)
BR、
Kobi
您好!
请尝试调试 SlNetUtil_getstbyname (通过使用调试器进入内部、或者通过将 sources/ti/net/slnetutils.c 添加到您的项目并在函数中添加调试消息)。
有几个故障点、但我无法判断哪一个与之相关。 我需要更多的信息来了解您的问题。
BR、
Kobi
您好!
我们将尝试在 SlNetUtil_gethostbyname 函数内进行调试。
好的。
如果您有任何疑问、请告知我们。
BR、
Kobi
您好!
目前、我们将重点放在主应用程序开发上、并同时寻找解决此类问题的解决方案。 我们在这个论坛上发帖、肯定会解决任何问题。
谢谢你