获取本机在局域网上的IP的方法
//获得局域网的IP地址
IPHostEntry ihe = Dns.GetHostByName(Dns.GetHostName());
IPAddress myIp = ihe.AddressList[0];
string loginIP = myIp.ToString();
获取本机在公网上的IP的方法
// 通过外部网站返回得到内网外部IP
// 来源: http://www.cnblogs.com/helloworld84/archive/2005/08/18/218104.html
using System;
using System.IO;
using System.Net;
using System.Text;
using System.Text.RegularExpressions;
class PubIP
{
static string GetIP()
{
Uri uri = new Uri("http://www.ikaka.com/ip/index.asp");
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(uri);
req.Method = "POST";
req.ContentType = "application/x-www-form-urlencoded";
req.ContentLength = 0;
req.CookieContainer = new CookieContainer();
req.GetRequestStream().Write(new byte [0], 0, 0);
HttpWebResponse res = (HttpWebResponse)(req.GetResponse());
StreamReader rs = new StreamReader(res.GetResponseStream(), Encoding.GetEncoding("GB18030"));
string s = rs.ReadToEnd();
rs.Close();
req.Abort();
res.Close();
Match m = Regex.Match(s, @"IP:\[(?<IP>[0-9\.]*)\]");
if (m.Success) return m.Groups["IP"].Value;
return string.Empty;
}
static void Main()
{
Console.WriteLine(GetIP());
}
}
分享到:
相关推荐
本文实例讲述了C#实现获取本地内网(局域网)和外网(公网)IP地址的方法。分享给大家供大家参考,具体如下: 1、获取本机的IP地址集合: /// /// 获取本机所有ip地址 /// /// <param name=netType>InterNetwork:...
在C#编程中,获取本地IP地址和局域网(LAN)IP地址是常见的网络编程需求。这通常涉及到网络接口的枚举、IP地址的解析以及操作系统提供的API调用。以下将详细介绍如何在C#中实现这些功能。 首先,我们要区分几种类型...
标题中的“本机所有IP地址查询(包括获取公网IP)”指的是一个程序或者服务,它能够帮助用户获取本地计算机上所有网络接口的IP地址,并且能够查询到与该计算机连接到互联网时使用的公网IP地址。在现代网络环境中,一...
在IT领域,获取本机IP地址以及公网IP地址是一项基础任务,尤其对于网络编程和远程通信至关重要。在给定的标题“获取本机IP以及公网IP的代码”中,我们聚焦于通过编程来实现这一功能。这个实例适用于Visual Studio ...
在C#编程中,获取本机IP地址是网络通信中常见的需求,特别是在进行Socket编程时。IP地址是网络上每台设备的唯一标识,它使得数据可以在互联网上准确地发送和接收。本篇文章将深入探讨如何使用C#来查看和获取本机的IP...
本文将详细介绍两种在C#中获取本机在局域网IP地址的方法。 第一种方法是通过DNS(Domain Name System)服务来获取。这种方法的核心是使用`Dns.GetHostEntry()`方法,该方法可以获取主机名对应的IP地址列表。以下是...
特别是在局域网(LAN)环境下,利用C#进行文件传输与信息传递,不仅可以避免公网流量的消耗,还能提高数据传输的安全性和速度。以下是对C#在局域网文件传输与信息传输方面的重要知识点的详细解析。 ### 一、C#...
标题中的“C# UDP穿透局域网源码”是指使用C#编程语言实现的一种UDP(User Datagram Protocol)网络通信技术,旨在允许通过局域网进行数据传输,甚至可能尝试突破局域网的限制,实现跨网络的通信。UDP是一种无连接的...
在IT领域,获取本机IP地址是一项基础但重要的任务,特别是在网络编程和系统管理中。本文将详细探讨如何在不同的操作系统和编程环境下获取本机IP地址,并提供相关的源码示例。 1. IP地址概念 IP(Internet Protocol...
在描述中提到的“当前地址”可能是指设备的公网IP地址,这可以通过向公共API发送请求来获取。例如,我们可以使用知名的免费API如`http://ip-api.com/json`或`https://ipapi.co/json`,这些服务返回一个JSON对象,...
局域网地址是指在局域网中使用的IP地址,它们不会被分配到公网中。根据RFC 1918标准,内网保留地址定义如下: * 10.0.0.0/8,即10.0.0.0-10.255.255.255 * 172.16.0.0/12,即172.16.0.0-172.31.255.255 * 192.168....
综上所述,获取本机IP地址在ASP.NET中主要涉及`System.Net`和`System.Net.NetworkInformation`命名空间下的类和方法,如`Dns`、`NetworkInterface`、`IPAddress`等。了解这些基础概念,结合具体的业务需求,我们就能...
4. **UDP打洞技术**:由于局域网内的设备通常在NAT(网络地址转换)后面,UDP打洞技术用于穿透NAT,让两个不在同一公网IP后的设备能够直接通信。这是实现局域网内视频聊天的关键步骤。 5. **服务端与客户端架构**:...
在实际应用中,你可能还需要处理其他情况,比如筛选出公网IP地址、处理IPv4和IPv6的兼容性问题,以及处理网络接口状态变化的实时更新等。以上代码只是一个基本的示例,具体实现应根据项目需求进行调整。 总之,C#...
如果需要获取公网IP,可以借助第三方API,例如`ipapi.co`: ```javascript async function getIpAddress() { const response = await fetch('https://ipapi.co/json/'); const data = await response.json(); ...
公网与网域网之间的通信需要通过NAT(网络地址转换)或者公网IP地址来实现。 "聊天"功能的实现需要处理的消息传递和同步机制。在C#中,可以通过多线程或者异步编程来处理并发的聊天请求,确保用户可以实时接收到新...
- **连接方式**:由于是在局域网内对战,玩家可以通过内网IP直接连接,无需公网IP和端口映射。 - **网络稳定性**:考虑到局域网内的网络环境相对稳定,可以减少延迟和丢包带来的问题,提高游戏体验。 总的来说,...
5. **外网与外网通讯**:外网设备间的通信通常直接通过公网IP和端口进行。C#的TcpClient和TcpListener可以轻松处理这种场景。 6. **不同内网之间的通讯**:不同内网的设备间通信需要通过路由器或网关,可能涉及到...