我正在尝试与服务器创建套接字连接。为此,我传递一个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();
}
答案 0 :(得分:1)
如果我正确的话,应用程序没有抛出异常,但是你正在调试,检查serverStream
并在调试器中看到异常。
这是正常行为 - Visual Studio尝试显示所有属性值,NetworkStream
不支持Length
属性。有关详细信息,请参阅the MSDN:
NotSupportedException:从Stream派生的类不支持搜索。
您可以检查任何CanSeek
的{{1}}属性,以验证它是否支持搜索,以及Stream
属性。