在两台多个网口机器上编程,假设这两台机器分别为A,B,每台机器上都有eth0, eth1网口。
A,B都监听一个端口,等待对方的消息,并且监听所有网口:
srv.sin_addr.s_addr = htonl(INADDR_ANY);
假设当前A使用eth1的地址IPA1跟B通信,某个时刻IPA1接口不通了,这时A会自动选择使用eth0的地址IPA0跟B通信。
如果而后A的eth1接口恢复了,这时A不会自动再选择使用eth1跟B通信。也就是说,在A的eth1恢复后,B接收到的消息的源地址还是IPA0。