C#如何判断一个远程连接是否存在???
如何用C#,如何判断Web Service 到远程实时数据库是否存在??
注意了,不是要用Socket建立连接,而是判断是否存在这个连接??
------解决方案--------------------给webservice里添加一个测试方法判断下存在或不存在。调用加上try 远程断开也可知道(根据错误)。
------解决方案--------------------连接、等待、如果超时说明不成功,在等待时间内返回说明成功。
没有办法可以确切知道连接是否存在。
原因很简单:(1)判断连接完成之后的瞬间网线被拔下,会出现报告成功却不成功的情况。(2)你没有办法判断在规定时间内得不到响应是因为连接不存在,还是连接存在但是没有来得及返回,或者连接上了,返回的数据丢失。
------解决方案--------------------
"拔网线"是一个生动的说法而已。事实上在验证返回,网络链路可能出现各种故障。
在通讯学里面有个著名的悖论,名字忘记了。说的是,两个通讯终端不可能依靠自身之间的通讯判断网络是否通畅。假设A发送一个消息给B,B收到以后给A确认A没有收到,或者B没有收到故没有给A确认,A是无法判断的。然后有人想,我们可以给确认加上确认的确认,但是确认的确认同样是不可靠的,这个过程可以无限循环下去。所以结论就是“两个通讯终端不可能依靠自身之间的通讯判断网络是否通畅”。
------解决方案--------------------天回帖即可获得10分可用分!小
------解决方案--------------------用wmi,查下msdn,里面有远程操作数据库的介绍
------解决方案--------------------一般都是通过是否超时来判断,连接是不是存在,你觉得等的时间太长了,可以把超时时间改短一点。
------解决方案--------------------帮顶 也想知道这个问题
------解决方案--------------------
就是我说的办法,试探连接。