2012-10-15 22 views

回答

0

不,应该不是,因为它实际上并没有做任何的插座。你是否想弄清楚另一端的服务器是否还在那里?如果是这样,您可能需要设置某种类型的ping,因为此属性不会告诉您连接是否意外中断(例如,程序崩溃,网络正在关闭等)。

从MSDN:

connected属性获取套接字的连接状态的 最后一个I/O操作。当它返回false时,Socket不是连接就是 ,或者不再连接。

已连接属性的值反映了最近一次操作的 连接的状态。如果您需要确定连接的当前状态 ,请发送无阻塞的零字节 发送呼叫。如果调用成功返回或抛出WAEWOULDBLOCK错误代码(10035),那么套接字仍然连接;否则, 插座不再连接。

如果在用户数据报协议(UDP)套接字上调用Connect,则 Connected属性始终返回true;然而,这个动作并没有改变UDP固有的无连接性质。

2

Socket.IsBound不检查Socket是否连接。 它检查Socket是否绑定到本地端口号。 所以没有。可能有什么地方你做错了。

支持doc

要检查套接字连接 使用Socket.Connected

+0

对不起,我的意思是连接 –

+0

它打破sslstream? –

+0

不,它不应该。文档中没有任何内容表明它应该。连接不会影响Stream。 –