如何用Framework 4.6解析C#上的IPAddress

如何用Framework 4.6解析C#上的IPAddress,c#,C#,在使用Framework 4.6的C#上,如何正确地将IPAddress从String解析为System.Net.IPAddress 我正试图使用Visual Studio 2017 NuGet TCPSimple实现一个TCP/IP服务器和客户端以进行测试,但我得到一个System.FormatException“输入字符串的格式不正确” 我尝试过不同的方法,但它们根本不起作用 private void btnStart_Click(object sender, EventArgs e

在使用Framework 4.6的C#上,如何正确地将IPAddress从String解析为System.Net.IPAddress

我正试图使用Visual Studio 2017 NuGet TCPSimple实现一个TCP/IP服务器和客户端以进行测试,但我得到一个System.FormatException“输入字符串的格式不正确”

我尝试过不同的方法,但它们根本不起作用

    private void btnStart_Click(object sender, EventArgs e)
    {
        txtStatus.Text += "Server starting...";

        //var address = System.Net.IPAddress.Parse("10.0.11.174").GetAddressBytes();
        //long m_Address = ((address[3] << 24 | address[2] << 16 | address[1] << 8 | address[0]) & 0x0FFFFFFFF);
        System.Net.IPAddress ip = new System.Net.IPAddress(long.Parse(txtHost.Text));
        //System.Net.IPAddress ip = new System.Net.IPAddress.Parse("127.0.0.1");
        server.Start(ip,Convert.ToInt32(txtPort.Text));
    }
private void btnStart\u单击(对象发送方,事件参数e)
{
Text+=“服务器正在启动…”;
//var address=System.Net.IPAddress.Parse(“10.0.11.174”).GetAddressBytes();
//long m_Address=((地址[3]在.NET框架中有一个方法来处理这个问题

IPAddress ip = IPAddress.Parse(txtHost.Text);
请参阅Parse()方法的示例:

它是静态的,需要一个字符串。所以

System.Net.IPAddress ip = System.Net.IPAddress.Parse(txtHost.Text);

应该做这个技巧。如果抛出FravaExtRebug,这是用户的错误,因此捕获异常并显示友好的错误消息。

< P>您可能需要考虑使用<代码> IPADES.TyPARSESER()/<代码>以防您提供无效IP。
using System;
using System.Net;

public class Program
{
    public static void Main()
    {
        string goodIp = "127.0.0.1";
        string badIp = "127.0.O.1";

        IPAddress ip;
        if (IPAddress.TryParse(goodIp, out ip))
        {
            Console.WriteLine("Start your server");
        }

        if (!IPAddress.TryParse(badIp, out ip))
        { 
            Console.WriteLine("Bad IP");
        }
    }
}

我觉得在System.Net.IPAddress ip=new System.Net.IPAddress.Parse(txtHost.Text)中,问题在于“new”指令,因此它无法在System.Net.IPAddress上找到解析。。。。。
using System;
using System.Net;

public class Program
{
    public static void Main()
    {
        string goodIp = "127.0.0.1";
        string badIp = "127.0.O.1";

        IPAddress ip;
        if (IPAddress.TryParse(goodIp, out ip))
        {
            Console.WriteLine("Start your server");
        }

        if (!IPAddress.TryParse(badIp, out ip))
        { 
            Console.WriteLine("Bad IP");
        }
    }
}