您好!
设置备用 DNS 服务器选项时遇到问题。
为了提供一个示例,我修改了 HttpGet 演示例(包含在 SDK 中)的 Connect()函数如下:
空连接(空)
{
SlWlanSecParams_t secParams ={0};
int16_t ret = 0;
secParams.Key =(signed char*) security_key;
secParams.KeyLen = strlen (security_key);
secParams.Type = SECURITY_TYPE;
display_printf (display、0、0、"正在连接到:%s\r\n、ssID_NAME);
//使用8.8.8.8作为备用 DNS
SlNetCfgIpV4DnsClientArgs_t DnsOpt;
DnsOpt.DnsSecondServerAddr = sl_IPv4_VAL (8、8、8);
RET = sl_NetCfgSet (sl_netcfg_IPv4_DNS_CLIENT、0、sizeof (SlNetCfgIpV4DnsClientArgs_t)、(unsigned char *)&DnsOpt);
RET = SL_Stop (300);
RET = SL_Start (0、0、0);
RET = sl_WlanConnect ((signed char*) ssn_name、strlen (ssn_name)、0、secParams、0);
IF (RET)
{
printError ("连接失败"、ret);
}
}
也就是说、我在调用 sl_WlanConnect()之前添加了对 sl_NetCfgSet 的调用。
当我禁用路由器中的自动 DNS 服务器功能时、对 sl_WlanConnect 的调用失败。
如果我再进行调用
状态= sl_NetCfgGet (sl_netcfg_IPv4_DHCP_CLIENT、&ConfigOpt、&pConfigLen、(_u8 *)&dhcpCl);
dhcpCl.dns[2] 返回一个0.0.0.0作为 IP 地址。
感谢你的帮助。