打开Cmd 输入ipconfig回车就会看到我们的这些号码 但是这些号码都是什么意思呢?
本地IPv4:可以理解为这是我们常说的本机IP,也是我们连的局域网IP(不过不是自己的要连的那个人电脑IP),但是现在网民变多IP资源枯竭的问题,就有了IPv6
本地IPv6:是IPv4的加强版,地址空间更长不会有枯竭问题、安全性更高,正在推广使用,但是中国用IPv4较多
子网掩码:我们一般看的都是固定的,详细的是这样,简单地说就是约束确保在一定ip范围内两台电脑可以连接
网关:就是一个中介,A电脑要通过TCP发送给B,A就要先发送给网关再由网关转发给B。
/**
*Copyright(C) 2019 by #COMPANY#
*All rights reserved.
*FileName: #SCRIPTFULLNAME#
*Author: #AUTHOR#
*Version: #VERSION#
*UnityVersion:#UNITYVERSION#
*Date: #DATE#
*Description:
*History:
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Net;
using System.Net.Sockets;
public enum EIP
{
IPv4,
IPv6,
OutSideIP,
}
public class IPConfig
{
public string GetIP(EIP type = EIP.IPv4)
{
switch (type)
{
case EIP.IPv4:
return GetInsideIP(AddressFamily.InterNetwork);
case EIP.IPv6:
return GetInsideIP(AddressFamily.InterNetworkV6);
case EIP.OutSideIP:
return GetOutSideIP();
}
return null;
}
string GetInsideIP(AddressFamily addressType)
{
IPAddress[] ips = Dns.GetHostAddresses(Dns.GetHostName());
foreach (var item in ips)
{
if (item.AddressFamily == addressType)
{
return item.ToString();
}
}
return null;
}
string GetOutSideIP()
{
using (WebClient wc = new WebClient())
{
//返回值自带换行
return wc.DownloadString(@"http://icanhazip.com/").Replace("\n","");
}
}
}
然后这个是代码 服务器客户端都可以用 根据枚举获取内网外网