关于Socket的Connected属性的迷惑
最近在做异步TCP的程序,客户端程序能够连接到服务器段程序执行以下代码往服务器端发送东西(m_sockConnToServer通过BeginConnect连接到服务器了)if (this.m_sockConnToServer != null && this.m_sockConnToServer.Connected) this.m_sockConnToServer.Send(buf, buf.Length, 0);m_sockConnToServer成功连接以后,应该Connected属性是true的吧。可是不知道为什么,运行上面代码段时,会出现Connected属性为false的情况,导致不能发送数据到服务器。如果把上面的判断条件改成if (this.m_sockConnToServer != null )不判断Connected属性,可以发送数据,但是调试运行监视m_sockConnToServer.Connected属性是false的,但是仍然能发送数据,这是为什么?Connected属性不是标志是否连接到远程主机的么?为什么连接了还会是false?有时候第一次执行上面的代码段时Connected是true的,但是第二次进入上面的代码段就是false了。看了MSDN上对Connected属性的说明,不是很明白,请高手指教