0

对于我的网络应用程序,我需要一种方法来检测应用程序是否丢失了与其运行的 IP 地址 (100.100.100.100) 的连接,或者设备是否已连接到不同的网络/连接。这一切都必须在客户端完成。目前我正在执行以下操作,但似乎不起作用。任何想法如何做到这一点?谢谢。

$.ajax({
   type: "GET",
   url: "100.100.100.100",
   success: function(){
    alert("Connection Good!")
   }
   error: function(XMLHttpRequest, textStatus, errorThrown){
    if(textStatus == 'timeout') {
       alert("Connection has been lost.");  
    }
   }
});
4

2 回答 2

0

由于同源策略,它不适用于随机 IP 地址。最好的办法是向您的应用程序提供服务的服务器上的 URL 发出请求(即与 JS 文件来自相同的权限),这会给出已知的良好响应。

** 更新为了清楚起见,“权威”是指主机、端口和协议。例如, http: //google.comhttps://google.com不同,也与http://google.com:8080不同

于 2012-08-15T19:28:26.670 回答
0

您可以创建实际 ping 目标 IP 的简单 PHP(或您使用的任何语言)。

然后你可以打电话

http://www.example.com/my_ping_script.php?target=10.10.10.10

通过 AJAX,它将返回连接状态为简单的“OK”或“LOST”。

ping 我的意思是ICMP ping

于 2012-08-15T19:48:44.267 回答