摘要: 最近我写的一个客户端程序出了问题,即很多用户同时掉线时(例如在打开很多客户端的电脑上拔掉网线),有很小的概率服务器会出现异常。异常的Trace显示,这是对已经关闭的TcpClient写入数据时导致的。具体是调用NetworkStream.BeginWrite方法时,出现InvalidOperationException,消息是“写操作不支持”。而这个异常甚至没有在BeginWrite的MSDN文档中出现。我查看了一下代码,主要原因是很多用户同时掉线,很可能同时出现心跳停止。在用户退出时,会向所有其他用户发送通知消息。这时,如果一个用户退出时向其他用户发送消息,而那个用户正好也在退出,其TcpC 阅读全文
posted @ 2012-10-24 17:24 Leading 阅读(6120) 评论(0) 推荐(0) 编辑