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

深入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地址 。