考虑以下几点:
public void Connect()
{
clientObject = new TcpClient();
IPEndPoint ipEnd = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 90);
centralForm.writeLog("Connecting to desired server", System.Drawing.Color.Gray, true);
clientObject.Connect(ipEnd);
if ((debug) && (clientObject.Connected)) { Debug.Print("Connected"); }
Send("0");
clientObject.GetStream().BeginRead(new byte[] { 0 }, 0, 0, Read, null);
}
我在这段代码的最后一行收到上述错误。我做错了什么?我已经调用了 Connect()...我已经盯着它看了很多年了,我真的不知道我做错了什么。
发送验证码:
public void Send(string data)
{
using (StreamWriter w = new StreamWriter(clientObject.GetStream()))
{
w.WriteLine(data);
w.Flush();
}
}
最佳答案
当 StreamWriter
被释放时(在 using
block 的末尾),used Stream 也被关闭。
在 Send(
) 方法之后,您尝试使用导致所述异常的关闭流。
关于c# - 在未连接的套接字上不允许执行此操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19924789/