0

私のWebアプリでは、アプリケーションが実行されている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アドレスでは機能しません。最善の方法は、アプリが提供されているサーバー(つまり、JSファイルの取得元と同じ権限)のURLにリクエストを送信することです。これにより、既知の良好な応答が得られます。

**更新明確にするために、「権限」とは、実際にはホスト、ポート、およびプロトコルを意味します。したがって、たとえば、 http: //google.comはhttps://google.comと同じではなく、http: //google.com :8080とも同じではありません。

于 2012-08-15T19:28:26.670 に答える
0

ターゲットIPに実際にpingを実行する単純なPHP(または使用している言語)を作成できます。

その後、あなたは呼び出すことができます

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

AJAXを介して、接続ステータスを単純な「OK」または「LOST」として返します。

pingとは、 ICMPpingを意味します

于 2012-08-15T19:48:44.267 に答える