【发布时间】:2009-08-11 17:30:03
【问题描述】:
早上好,
我需要一些建议,我正在使用从 TcpClient 流式传输的 networkStream,一切正常,但后来我需要其他地方的一些功能,这需要关闭流。一旦连接关闭,我似乎无法找到重新打开连接的方法。谁能在这里指出我正确的方向?
这是我基于的代码示例:(显然这不是它的工作原理,但我已尽可能简化它:-))
private void MyMainFunction()
{
ConnectToTcp();
if(CheckConnection == true)
{
DoWorkWithTcp();
}
DisconnectFromTcp();
ConnectViaOtherSource();
DoOtherSourceWork();
DisconnectOtherSource();
ConnectToTcp(); //Excecption thrown, epic fail!
}
private void ConnectToTcp()
{
myClient = new TcpClient(ip, port);
myNetStream = myClient.GetStream();
}
private void DisconnectFromTcp()
{
myNetStream.Close();
myClient.Close();
}
提前致谢,不胜感激。
编辑 - 更改了变量拼写名称!哎呀!
编辑 - 抱歉,刚刚意识到问题来自其他地方,感谢您确认此代码是正确的 :-) 帮助我从其他来源发现问题
【问题讨论】:
-
尝试重新连接时抛出什么异常?
-
ObjectDisposedException,但我正在重新创建它们?
-
你能创建一个简短但完整的程序来演示这个问题吗? IE。我们可以将其全部粘贴到控制台 Program.cs 文件中,编译并运行吗?
标签: c# sockets c#-2.0 tcpclient networkstream