Length ='serverStream.Length'抛出类型'System.NotSupportedException'的异常

时间:2015-09-18 06:20:07

标签: c# sockets

我正在尝试与服务器创建套接字连接。为此,我传递一个xml,它存储在字符串ngconnect中。现在在重新编写代码时 我在serverstream.Write中找到了异常

  

'serverStream.Length'引发了'System.NotSupportedException'类型的异常

这种异常的原因可能是什么,以及如何删除它们。

        private void button1_Click(object sender, EventArgs e)
        {
            portadd = textBox2.Text;

            ip = textBox1.Text;
            port = Convert.ToInt32(portadd);
            clientSocket.Connect(ip, port); 
            NetworkStream serverStream = clientSocket.GetStream();
            byte[] outStream = System.Text.Encoding.ASCII.GetBytes(ngconnect);
            serverStream.Write(outStream, 0, 200);
            serverStream.Flush();

            byte[] inStream = new byte[10025];
            serverStream.Read(inStream, 0, (int)clientSocket.ReceiveBufferSize);
            string returndata = System.Text.Encoding.ASCII.GetString(inStream);
            msg(returndata);
            textBox3.Focus();

    }

1 个答案:

答案 0 :(得分:1)

如果我正确的话,应用程序没有抛出异常,但是你正在调试,检查serverStream并在调试器中看到异常。

这是正常行为 - Visual Studio尝试显示所有属性值,NetworkStream不支持Length属性。有关详细信息,请参阅the MSDN

  

NotSupportedException:从Stream派生的类不支持搜索。

您可以检查任何CanSeek的{​​{1}}属性,以验证它是否支持搜索,以及Stream属性。