打開Cmd 輸入ipconfig回車就會(huì)看到我們的這些號(hào)碼 但是這些號(hào)碼都是什么意思呢?

image.png
本地IPv4:可以理解為這是我們常說的本機(jī)IP,也是我們連的局域網(wǎng)IP(不過不是自己的要連的那個(gè)人電腦IP),但是現(xiàn)在網(wǎng)民變多IP資源枯竭的問題,就有了IPv6
本地IPv6:是IPv4的加強(qiáng)版,地址空間更長(zhǎng)不會(huì)有枯竭問題、安全性更高,正在推廣使用,但是中國用IPv4較多
子網(wǎng)掩碼:我們一般看的都是固定的,詳細(xì)的是這樣,簡(jiǎn)單地說就是約束確保在一定ip范圍內(nèi)兩臺(tái)電腦可以連接

image.png
網(wǎng)關(guān):就是一個(gè)中介,A電腦要通過TCP發(fā)送給B,A就要先發(fā)送給網(wǎng)關(guān)再由網(wǎng)關(guān)轉(zhuǎn)發(fā)給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","");
}
}
}
然后這個(gè)是代碼 服務(wù)器客戶端都可以用 根據(jù)枚舉獲取內(nèi)網(wǎng)外網(wǎng)