为什么IPAddress()不起作用

时间:2015-02-07 10:51:51

标签: c# ip-address

我尝试在客户端和服务器之间建立聊天程序,当我输入以下行时:

IPAddress myIPAddress = new IPAddress(new byte [](192,168,214,15));

它不接受它..我在visual studio 2008上运行它并且运行良好但是在visual studio 2013它不起作用并且给我这个错误

数组创建必须具有数组大小或数组初始值设定项

在我添加数组大小后,会弹出另一个错误:

// 1- Convert String to Bytes
        byte[] dataBuffer;
        dataBuffer = Encoding.ASCII.GetBytes(textBox1.Text);

        // 2- Add TCP Client
        TcpClient myTcpClient = new TcpClient();

        // 3 - Connecting with Server
        IPAddress myIPAddress = new IPAddress( new byte[4] (192,168,214,15));
        myTcpClient.Connect(myIPAddress, 5020);

        // 4 - Add Network
        NetworkStream myNetworkStream = myTcpClient.GetStream();

        // 5 - Send message
        myNetworkStream.Write(dataBuffer, 0, dataBuffer.Length);

        // 6 - Close the Network Connection
        myNetworkStream.Close();
        myTcpClient.Close();

有没有解决方案?

预期的方法名称

这是完整的代码:

1 个答案:

答案 0 :(得分:1)

您的问题是您没有按原样初始化阵列。 数组初始化完成如下:

IPAddress myIPAddress = new IPAddress( new byte[] {192,168,214,15});

无论如何,您可以使用IPAddress.Parse

来保护IP地址
IPAddress myIPAddress = IPAddress.Parse("192.168.214.15");

无论哪种方式都可行