声明了一个TcpClient
TcpClient tcp_client_model = null在某处初始化并使用了tcp_client_model ,然后正常关闭后
用tcp_client_model.Connected检测有无连接,抛出了System.NullReferenceException的异常,一调试才发现tcp_client_model已经虽然不是null,但是它封装的Socket类Client为null了,而tcp_client_model.Connected实质上是检测此socket是否连接,所以就有可能是这个原因.
所以在写回收函数的时候改成了这样
if( tcp_client_model != null && tcp_client_model.Client !=null && tcp_client_model.Client.Connected)
{
client.Close();
}
估计是调用那个属性的时候没做socket是否为null的判断...
重庆网站建设http://www.zjcoo.com