vs c#编程 win7下获取ipv4 地址

用的是visualstudio2010的在win7系统代码是:IPAddress_ip=Dns.GetHostAddresses(Dns.GetHostName())[0... 用的是visual studio2010的 在win7系统

代码是:
IPAddress _ip = Dns.GetHostAddresses(Dns.GetHostName())[0];
_tcpl = new TcpListener(_ip, _port);
_tcpl.Start();
Console.WriteLine("服务器已启动,正在监听...\n");
Console.WriteLine(string.Format("服务器IP:{0}\t端口号:{1}\n", _ip, _port));

结果ip显示不是正常格式,而且自己联网和不联网都不一样,不联网时,显示的 服务器ip是 ::1

我是想做一个服务端

这样好像是获取的ipv6
怎样修改获取ipv4?

程序在05版本上是可行的
展开
 我来答
百度网友51275341
2015-10-20 · 知道合伙人互联网行家
百度网友51275341
知道合伙人互联网行家
采纳数:2660 获赞数:8331
毕业湖南工商学院计算机专业,大专学历。网络行业4年工作经验,读过多本网络运营相关书籍,现任运营总监。

向TA提问 私信TA
展开全部
vs c#编程 win7下获取ipv4 地址方法:
方法一:
// 此方法需要添加引用System.Management。
private string GetIpv4()。
{
ManagementClass mc = new 。ManagementClass("Win32_NetworkAdapterConfiguration")。
ManagementObjectCollection nics = mc.GetInstances()。
foreach (ManagementObject nic in nics)。
{
if (Convert.ToBoolean(nic["ipEnabled"]) == true)。
{
return (nic["IPAddress"] as String[])[0]。
}
}
return null。
}
方法二:
private string GetLocalIpv4()。
{
try。
{
// 获得网络接口,网卡,拨号器,适配器都会有一个网络接口。
NetworkInterface[] networkInterfaces = NetworkInterface.GetAllNetworkInterfaces()。
foreach (NetworkInterface network in networkInterfaces)。
{
// 获得当前网络接口属性。
IPInterfaceProperties properties = network.GetIPProperties()。
// 每个网络接口可能会有多个IP地址 。
foreach (IPAddressInformation address in properties.UnicastAddresses)。
{
// 如果此IP不是ipv4,则进行下一次循环。
if (address.Address.AddressFamily != AddressFamily.InterNetwork)。
continue。
// 忽略127.0.0.1。
if (IPAddress.IsLoopback(address.Address))。
continue。
return address.Address.ToString()。
}
}
}
catch (Exception ex)。
{
MessageBox.Show("Error: " + ex.Message)。
}
return null。
}
Storm代理
2023-07-25 广告
StormProxies是一家可靠的代理服务提供商,提供原生IP(住宅原生IP)和高匿名代理服务。以下是关于StormProxies的原生IP服务的一些信息:1. 住宅原生IP:StormProxies提供的住宅原生IP是指从真实的家庭或企... 点击进入详情页
本回答由Storm代理提供
百度网友baf3962
2012-06-05 · TA获得超过667个赞
知道小有建树答主
回答量:204
采纳率:100%
帮助的人:133万
展开全部
通常用System.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName()).AddressList[0].ToString())
AddressList里面有ipv6和ipv4,遍历一下吧,ipv4比ipv6长度小一些。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lifelovers
2012-06-05 · 超过19用户采纳过TA的回答
知道答主
回答量:82
采纳率:0%
帮助的人:55.7万
展开全部
联网和不联网确实是不一样的,因为本来就IP不一样,除非你是在局域网内
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式