工具/软件:TI-RTOS
您好!
我在 EK-tm4c129exl 板上有 TI-RTOS v2.16.1.14。
当我将 http 示例添加到我的项目并启动它时、所有操作都可以正常运行、我从 www.example.com 获得响应。
在这种情况下、我从 DHCP 协议获取 IP。但是、当我将 DHCP 设置更改为静态 IP 设置时、我收到错误:
错误! 代码=-106、desc = httpTask:地址解析失败
为什么 http 示例仅适用于 DHCP 设置?
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-RTOS
您好!
我在 EK-tm4c129exl 板上有 TI-RTOS v2.16.1.14。
当我将 http 示例添加到我的项目并启动它时、所有操作都可以正常运行、我从 www.example.com 获得响应。
在这种情况下、我从 DHCP 协议获取 IP。但是、当我将 DHCP 设置更改为静态 IP 设置时、我收到错误:
错误! 代码=-106、desc = httpTask:地址解析失败
为什么 http 示例仅适用于 DHCP 设置?
您好!
我已经实现了一个本地 http 服务器、如文档"建立 http 服务器"中所述。 我使用 DHCP 启动程序、然后分配 IP 192.168.1.154。 如果我现在将连接设置更改为静态 IP (IP:192.168.1.154、子网:255.255.255.0、网关:192.168.1.1)、本地服务器也将工作并向浏览器发送 html 页面。
但是、如果我导入 HttpGET_EK_TM4C129EXL_TI_TivaTM4C129ENCPDT 以将数据发送到外部服务器、则此示例仅适用于 DHCP 设置。 如果我将这些设置更改为静态 IP、则会出现错误:
错误! 代码=-106、desc = httpTask:地址解析失败
在 DHCP 情况下、IP 为192.168.1.154、在静态情况下、IP 为192.168.1.154、子网掩码为255.255.255.0、网关为192.168.1.1
我还可以在静态情况下 ping 设置的 IP。
只有使用 DHCP 设置、HttpGET_EK_TM4C129EXL_TI_TivaTM4C129ENCPDT 项目才有效。
Mark、您好!
要执行外部名称主机名解析(如 HttpGet 示例所做的那样),当您的设备设置了静态 IP 地址时,您还需要提供外部 DNS 地址。 DHCP 会自动为您提供外部 DNS 服务器地址、因此该示例适用于 DHCP。
要设置外部 DNS 地址、应使用以下代码:
uint32_t IP = inet_addr ("8.8.8.8");
if (IP){
CfgAddEntry (0、CFGTAG _SYSINFO、CFGITEM_DHCP_DOMAINNAMESERVER、
0、sizeof (ipaddr)、(unsigned char *)&IP、0);
}
在调用 connect()之前放置此命令,以便在调用之前添加 DNS 服务器。 还可以将"IP"变量中的地址替换为要使用的任何 DNS 服务器。
此致、
达尔顿