双网卡 如何实现绑定(IP可变) 电脑上2个网卡,我知道可以通过ip的不同实现绑定,但是,我的IP是可以改变的,也就是说在程序运行的情况下,改变IP,程序不受影响.所以是通过localaddr.sin_addr.s_addr = INADDR_ANY; 来实现的,因为是INADDR_ANY,所以IP改变了之后,也不需要重新绑定(之前是1个网卡就这么干的)。但是现在有2个网卡了,有什么设置可以绑定的时候通过网卡的信息来实现绑定(还是使用INADDR_ANY),谢谢啦。 解决方案 » IP_ADAPTER_INFO结构体 可以获取每款网卡的信息 GetAdaptersInfo函数AddIPAddress 此函数绑定添加IPUINT iaIPAddress; UINT imIPMask; DWORD dwRetVal; DWORD m_x,m_y; ((CIPAddressCtrl*)GetDlgItem(IDC_IPADDRESS1))->GetAddress(m_y); ((CIPAddressCtrl*)GetDlgItem(IDC_IPADDRESS2))->GetAddress(m_x); ULONG NTEContext = 0; ULONG NTEInstance = 0; imIPMask = m_x; iaIPAddress = m_y; if ( (dwRetVal = AddIPAddress(htonl(iaIPAddress), IP地址 htonl(imIPMask), 子网掩码 net_dwIndex,网卡设备编号,为IP_ADAPTER_INFO结构体的Index变量 &NTEContext, &NTEInstance) ) == NO_ERROR) { } 最后说句 为了使其生效 别忘了重启IP,重启网卡 具体API 可以查看iphlpapi.h 头文件 这里有你想要的! 你好! 我可以通过网卡读到IP,也可以根据网卡的信息绑定IP,但是这样绑定的话,如何修改IP的话,那么这个socket就会无效,除非绑定NADDR_ANY,但是绑定NADDR_ANY的前提是保证是确定网卡的NADDR_ANY。 你好! 我可以通过网卡读到IP,也可以根据网卡的信息绑定IP,但是这样绑定的话,如何修改IP的话, 那么这个socket就会无效,除非绑定NADDR_ANY,但是绑定NADDR_ANY的前提是保证是确定网卡的NADDR_ANY。 不懂! 可否理解为你重新绑定一个ip后,你先前ip链接上的套接字会断掉, 你现在的想法是既要换掉IP,又要保证链接不能断掉》? 你现在的想法是既要换掉IP,又要保证链接不能断掉》? 对,现在的想法就是这样,之前一个网卡的时候,通过NADDR_ANY绑定的时候,如果IP换掉,链接确实不会断掉 查看IP_ADAPTER_INFO 结构 以及相应的API 看是否能够通过网卡的信息 查找到该网卡的localaddr.sin_addr.s_addr 信息 如果有一个无线网卡,或3G无线上网卡也能区分二个网卡同类,且都是自动IP,那末办法
GetAdaptersInfo函数AddIPAddress 此函数绑定添加IPUINT iaIPAddress;
UINT imIPMask;
DWORD dwRetVal;
DWORD m_x,m_y; ((CIPAddressCtrl*)GetDlgItem(IDC_IPADDRESS1))->GetAddress(m_y);
((CIPAddressCtrl*)GetDlgItem(IDC_IPADDRESS2))->GetAddress(m_x); ULONG NTEContext = 0;
ULONG NTEInstance = 0;
imIPMask = m_x;
iaIPAddress = m_y; if ( (dwRetVal = AddIPAddress(htonl(iaIPAddress), IP地址
htonl(imIPMask), 子网掩码
net_dwIndex,网卡设备编号,为IP_ADAPTER_INFO结构体的Index变量
&NTEContext,
&NTEInstance) ) == NO_ERROR) {
}
具体API 可以查看iphlpapi.h 头文件 这里有你想要的!
我可以通过网卡读到IP,也可以根据网卡的信息绑定IP,但是这样绑定的话,如何修改IP的话,那么这个socket就会无效,除非绑定NADDR_ANY,但是绑定NADDR_ANY的前提是保证是确定网卡的NADDR_ANY。
我可以通过网卡读到IP,也可以根据网卡的信息绑定IP,但是这样绑定的话,如何修改IP的话, 那么这个socket就会无效,除非绑定NADDR_ANY,但是绑定NADDR_ANY的前提是保证是确定网卡的NADDR_ANY。
不懂! 可否理解为你重新绑定一个ip后,你先前ip链接上的套接字会断掉,
你现在的想法是既要换掉IP,又要保证链接不能断掉》?
对,现在的想法就是这样,之前一个网卡的时候,通过NADDR_ANY绑定的时候,如果IP换掉,链接确实不会断掉
查找到该网卡的localaddr.sin_addr.s_addr 信息
如果有一个无线网卡,或3G无线上网卡也能区分二个网卡同类,且都是自动IP,那末办法