C#2008
我开发了一个软电话应用程序。
但是,我必须测试持续的互联网连接。
我正在考虑在另一个不断ping IP地址的线程中运行一个函数。但是,我可以使用什么IP地址来确定我的应用程序是否仍然连接到Internet。
非常感谢,
答案 0 :(得分:1)
请参阅此问题并回答:C# - How do I check for a network connection
如果您受限于.NET Compact Framework,请查看免费的OpenNETCF library。
答案 1 :(得分:1)
您是否只想查看是否有网络连接,或者网络是否实际上是在网络上。
在第一种情况下,然后按照"How do I check for an network connection question"中的说法进行操作。这将告诉您电缆是否从PC背面拉出,但它不会告诉您调制解调器或电话线是否出现故障(例如)
第二种情况比较复杂,据我所知,除了不断轮询某些IP地址外,没有办法检查这一点。在简单的情况下,你可以在一个单独的线程中每隔30秒让一个网站ping一些网站,并在决定互联网关闭时引发事件。请注意,ICMP ping不是100%可靠,但即使您的连接正常,它们也会被丢弃。
如果你真的想变得复杂,你可以创建一个提升这些事件的Windows服务,然后多个应用程序可以挂钩并使用这些信息,但这有点超出了我对windows编程的了解。
答案 2 :(得分:1)
我认为teltot到www.google.com的80端口将是你最好的选择。
如果连接打开,一切都很好。
不确定在cf中实现这是多么容易。