工具/软件:Code Composer Studio
如何获取 DHCP 服务器的 IP 地址?
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.
工具/软件:Code Composer Studio
如何获取 DHCP 服务器的 IP 地址?
您好!
您能澄清一下您使用的 TI 软件包吗? C6457是一款非常旧的器件、软件包可能与我们为 C665x、C667x 提供的软件包类似。 在这个示例中、我们有一个"hello world"示例、它是使用 NDK 和 Nimu 驱动程序的 RTOS。 hello world 可以使用静态 IP 地址或 DHCP。
使用 DHCP 时、C66x 或 C64x 是 DHCP 客户端并发送发现数据包。 DHCP 服务器位于同一网络上且您配置了 IP 地址、您在 C64x 应用程序中是指如何读出/记录 DHCP 服务器 IP 地址?
此致、Eric
您好!
我搜索了 NDK 源代码 NDK_2/3_xx_xx_xx\packages/ti\NDK\nettools\DHCP、其中有:
/* DHCP 租赁信息的结构*/
typedef struct _dhcpLEASE
{
uint16 StateInitial;/*起始状态*/
uint16 State;/* Current State *
uint16 StateNext;// Next State */
IPN IPAddress;/*来自 DHCP 服务器的 IP 地址*/
IPN IPAddressOld;/*正在使用的 IP 地址*/
IPN IPSubnetMask;// IP SubnetMask */
IPN IPGate;// IP 网关地址*/
uint32 LeaseExpires;//移动到初始状态的时间*
(笑声)
}
代码:
静态空状态选择(DHCPLEASE *请)
{
IPN IPOffer、IPServer;
UINT16 MaxTries;
uint32 TimeStart;
MaxTries = 3;
重试:
#if DEBUGON
DbgPrintf (DBG_INFO、"DHCP:StateSelecting:\r\n");
#endif
/*生成 DHCP 请求包并发送*/
请->SendSize = dhcpBuildDiscover (请);
dhcpPacketSend(请,INADDR_broadcast );
/*获取时间*/
TimeStart = llTimerGetTime (0);
while (((TimeStart + 2)>= llTimerGetTime (0)))
{
/*获取回复(等待3秒)*/
dhcpPacketReceive(请);
if (dhcpVerifyMessage (请,&IPOffer,&IPServer)==DHCPOFFER)
{
请->IPAddress = IPOffer;
请->IPServer = IPServer;
请->StateNext =正在请求;
返回;
}
}
您可以在此处找到 DHCP 服务器地址。
此致、Eric