最近在做Davinci DM6467的应用开发,写了一个UDP服务用于设备搜索。服务可以收到客户端发来的搜索信息,可是发送设备信息给客户端却失败了,一看sendto返回失败,错误信息为“Network is unreachable”。
查询了网上资料,得知是网关设置不正确导致,使用route命令查询网关:
#route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.0.0 * 255.255.255.0 U 0 0 0 eth0
深入查询发现是U-BOOT参数bootargs中的固定ip(ip=ip addr : server ip addr : gateway : netmask :: witch netcard : off)设置错误,少写了server ip addr,修正之后route信息如下:
#route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.0.0 * 255.255.255.0 U 0 0 0 eth0
default 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
UDP服务也能正常收发了,问题解决。