TcpClient如何断开连接?
在程序中,我开了一个TcpClient与对方通讯,当我需要关闭连接时,我使用Close方法。我以为连接就关闭了,可是对方的程序确以为连接还在,并继续通过这个连接向我发数据。
大家可以用telnet的方法来验证,调用close方法后,telnet程序并不知道连接已经关闭。但程序一退出,telnet程序就知道连接关闭了。
我现在的临时解决办法是close后立刻调用GC.Collect,调用这个方法后,对方通讯程序就立刻知道连接断开了。
我的问题是,为什么TcpClient.Close不能真正的关闭连接?正确的关闭方法是怎样的?