C# 如何获取连接的ip地址?

C# 如何获取连接的ip地址?,c#,networking,tcp,ip,C#,Networking,Tcp,Ip,我想知道连接的IP地址。不是本地IP using System; using System.Linq; using System.Net; using System.Net.Sockets; namespace FasterComputer { class Program { static void Main(string[] args) { string ip = Ipfind(); Consol

我想知道连接的IP地址。不是本地IP

using System;
using System.Linq;
using System.Net;
using System.Net.Sockets;

namespace FasterComputer
{
    class Program
    {
        static void Main(string[] args)
        {
            string ip = Ipfind();
            Console.WriteLine(ip);
            Console.ReadLine();
        }
        static string Ipfind()
        {
            if (!System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable())
            {
                return "Disconnected";
            }

            IPHostEntry host = Dns.GetHostEntry(Dns.GetHostName());

            return Convert.ToString(host
                .AddressList
                .FirstOrDefault(ip => ip.AddressFamily == AddressFamily.InterNetwork));
        }
    }
}
本地IP:192.168.## 广域网IP:#.#.##

您在上看到您的WAN IP

我尝试了这个解决方案,但它提供了本地IP

using System;
using System.Linq;
using System.Net;
using System.Net.Sockets;

namespace FasterComputer
{
    class Program
    {
        static void Main(string[] args)
        {
            string ip = Ipfind();
            Console.WriteLine(ip);
            Console.ReadLine();
        }
        static string Ipfind()
        {
            if (!System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable())
            {
                return "Disconnected";
            }

            IPHostEntry host = Dns.GetHostEntry(Dns.GetHostName());

            return Convert.ToString(host
                .AddressList
                .FirstOrDefault(ip => ip.AddressFamily == AddressFamily.InterNetwork));
        }
    }
}

如果你想要你的公共IP,你必须走出你的网络。为什么您的代码隐式地知道您的公共IP

谢天谢地,您可以使用以下服务


什么是“连接ip”?我想他指的是他的手帕。这很有帮助!