日期:2014-05-16  浏览次数:20905 次

深入UDP网络编程。
环境: 两台电脑都有虚拟机ubuntu linux系统。客户端虚拟机有两个虚拟网卡,eth0 eth1  

写个简单的UDP服务器代码 (循环收发)
写个简单的UDP客户端代码  ( 循环发收)

绑定网卡eth0 用setsockopt(sockfd,SOL_SOCKET,SO_BINDTODEVICE,(char*)&if_eth0,sizeof(if_eth0));(对 if_eth0的设置略)


1、单网卡  绑定eth0   正常运行
2、单网卡  不绑定eth0  正常运行
只要是单网卡就没有问题。
3、双网卡  不绑定eth0  正常运行
4、双网卡   绑定eth0   不能正常运行。

因为我要做绑定网卡的程序,要用到两个网卡。所以做了这个测试。请问这可能是什么原因……?
------解决方案--------------------
不能正常运行具体现象是什么,client无法connect上server吗?还是其他,首先保证网络能够ping通
------解决方案--------------------
你要使用双网卡,只能一个Up,一个down。并且不能是同一个网段的ip地址 。