当前位置: 技术问答>linux和unix
如何判断UDP包来自哪个网卡
来源: 互联网 发布时间:2017-05-11
本文导语: 机器上有两张网卡,eth0和wlan0,在程序里面开了UDP服务(bind的地址是INADDR_ANY),监听广播包。当recvfrom到一个UDP后,如何知道是来自哪张网卡的呢?麻烦大神们能给点指点。 | recvfrom()函数是带...
机器上有两张网卡,eth0和wlan0,在程序里面开了UDP服务(bind的地址是INADDR_ANY),监听广播包。当recvfrom到一个UDP后,如何知道是来自哪张网卡的呢?麻烦大神们能给点指点。
|
recvfrom()函数是带参数的,除了前面的结束数据包和大小外,第4,5个参数不要写成NULL,而要写成地址的形式,地址中就包含了数据是从何而来的。
|
确实无法获知啊!你还是不要bind any了,bind准确的网卡,这样不就解决了?
|
getpeer
|
getsockname
|