社区
网络编程
帖子详情
多网卡如何取得正在使用的本机IP?
wqpaul
2007-01-17 11:21:31
内网的一台机器有2张网卡,分处在不同的网段(192.168.0.*,172.168.*.*),分别通过NAT与公网的服务器相连。
请问如何得到到底是那个网卡或者那个IP地址与服务器相连接?
最好不要低于Socket的级别。
谢谢!
...全文
1207
13
打赏
收藏
多网卡如何取得正在使用的本机IP?
内网的一台机器有2张网卡,分处在不同的网段(192.168.0.*,172.168.*.*),分别通过NAT与公网的服务器相连。 请问如何得到到底是那个网卡或者那个IP地址与服务器相连接? 最好不要低于Socket的级别。 谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xfyxq
2012-01-04
打赏
举报
回复
C#报语法错误
cnlzx
2007-04-28
打赏
举报
回复
1
bind和listen不是一回事,你是不是以为监听端口才bind?
connect前没bind的那么用的本地port是系统随机给的,你试下bind在一个端口之后connect 一个IP,再netstat看看本地用什么端口连出去的
wqpaul
2007-02-12
打赏
举报
回复
可是bind是服务器端的啊!
alexmayer
2007-01-19
打赏
举报
回复
学习
cnlzx
2007-01-19
打赏
举报
回复
在与服务器相连时也就是connect前不是要bind吗?你bind在哪个网卡上进行的connect啊?
EvilLin
2007-01-18
打赏
举报
回复
char localName[ 80 ] = {0};
int ret = 0;
if ( gethostname( localName, sizeof( localName ) ) == SOCKET_ERROR )
{
return false;
}
struct hostent *phe = gethostbyname( localName );
int count = 0;
while(phe->h_addr_list[count]!=0)
count++;
.......
macnab
2007-01-18
打赏
举报
回复
HOSTENT* pHost;
pHost=gethostbyname(strHostName); //用主机名来得到IP地址
他会得到一个指针数组,用来表示所有网卡IP.
wj19781215
2007-01-18
打赏
举报
回复
用api getsockname(pContext^.sConnect,@LocalAddr,nAddrLen)
chehw
2007-01-17
打赏
举报
回复
你需要明确描述一下工作环境。
wqpaul
2007-01-17
打赏
举报
回复
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 172.16.0.1 172.16.0.71 30
0.0.0.0 0.0.0.0 192.168.100.100 192.168.100.103 20
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
172.16.0.0 255.255.0.0 172.16.0.71 172.16.0.71 30
172.16.0.71 255.255.255.255 127.0.0.1 127.0.0.1 30
172.16.255.255 255.255.255.255 172.16.0.71 172.16.0.71 30
192.168.100.0 255.255.255.0 192.168.100.103 192.168.100.103 20
192.168.100.103 255.255.255.255 127.0.0.1 127.0.0.1 20
192.168.100.255 255.255.255.255 192.168.100.103 192.168.100.103 20
192.168.122.0 255.255.255.0 192.168.122.1 192.168.122.1 20
192.168.122.1 255.255.255.255 127.0.0.1 127.0.0.1 20
192.168.122.255 255.255.255.255 192.168.122.1 192.168.122.1 20
192.168.140.0 255.255.255.0 192.168.140.1 192.168.140.1 20
192.168.140.1 255.255.255.255 127.0.0.1 127.0.0.1 20
192.168.140.255 255.255.255.255 192.168.140.1 192.168.140.1 20
224.0.0.0 240.0.0.0 172.16.0.71 172.16.0.71 30
224.0.0.0 240.0.0.0 192.168.100.103 192.168.100.103 20
224.0.0.0 240.0.0.0 192.168.122.1 192.168.122.1 20
224.0.0.0 240.0.0.0 192.168.140.1 192.168.140.1 20
255.255.255.255 255.255.255.255 172.16.0.71 172.16.0.71 1
255.255.255.255 255.255.255.255 192.168.100.103 192.168.100.103 1
255.255.255.255 255.255.255.255 192.168.122.1 192.168.122.1 1
255.255.255.255 255.255.255.255 192.168.140.1 192.168.140.1 1
Default Gateway: 192.168.100.100
===========================================================================
Persistent Routes:
None
chehw
2007-01-17
打赏
举报
回复
读注册表网络适配器的信息,
有网关的网卡连的是公网服务器,没网关的连的是内部。
wqpaul
2007-01-17
打赏
举报
回复
我可以读取到地址信息172.16.0.71和192.168.100.103 并且从路由表 可以知道 是从 192.168.100.103请求出去的。当时写程序如何知道是那张网卡出去的呢?
0.0.0.0 0.0.0.0 172.16.0.1 172.16.0.71 30
0.0.0.0 0.0.0.0 192.168.100.100 192.168.100.103 20
zdleek
2007-01-17
打赏
举报
回复
通常来说,比较通用而且简单的办法是从配置文件读取IP,然后绑定到该IP
Android获取
本机
IP
地址
所以还是要用域名保险一点。,但这样也会存在意外,默认情况下连了Wi-Fi就会用Wi-Fi,但是有些设备厂家会修改默认实现,我就遇到过,一款球机设备,是Android系统的,只要有蜂窝网络,即使连接了Wi-Fi,网络还是会走蜂窝网络,恶心的很,这种情况就只能是监听Wi-Fi连接上了,就主动关闭蜂窝网络,以便
使用
Wi-Fi网络。第二种式还是有缺点的,我们是假设了它只有一个满足条件的网络接口,但是有时候是会同时有几个网络接口满足条件的,如果只取任意一个来
使用
是不对的,所以应该要返回所有满足条件的网络接口。
多
网卡
下获取
本机
IP
的方式。
多
网卡
下获取
本机
IP
的方式。 方式一: public class NetworkUtils { public static final String localHost
Ip
= "127.0.0.1"; public static final String LOCALHOST = "localhost"; public static String currentI...
Shell脚本中获取
本机
ip
地址
1.单
网卡
方法1: #!/bin/sh local_
ip
=`ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"` echo "${local_
ip
}" ifconfig -a //和window下执行此命令一样道理,返回
本机
所有
ip
信息 grep inet //截取包含
ip
的行 grep -v 127.0.0.1 //去掉本地指向的那行 grep
使用
UDP的connect获取
本机
IP
使用
UDP connect获取
本机
出口
IP
c++
本机
多
网卡
时,根据
IP
获取MAC地址
//获取
本机
mac地址 CString G_GetMacAddress(CString strLocal
Ip
) { P
IP
_ADAPTER_INFO pAdapterInfo = NULL; P
IP
_ADAPTER_INFO pAdapter = NULL; DWORD dwRetVal = 0; pAdapterInfo = new
IP
_ADAPTER_INFO; ULONG u...
网络编程
18,356
社区成员
64,161
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章