如何在同一个wifi上的两个设备之间进行自动连接?

时间:2016-05-22 19:40:40

标签: android cordova wifi

我正在开发一个phonegap android应用程序,需要连接到同一个wifi网络上的服务器 如果我提供服务器IP,应用程序工作正常,但如果路由器关闭,IP更改!我在笔记本电脑上使用XAMPP服务器。该应用程序将安装在大约20台设备中。这意味着手动方法很痛苦!!

  • 那么,无论如何都要在不知道新ip的情况下自动重新连接?
  • ,怎么做?

3 个答案:

答案 0 :(得分:0)

不好意思,这个问题与phonegap无关,只是前端服务(如phonegap),总是需要IP或DNS才能连接到服务器。检查要配置到服务器的静态IP,即使重新启动,它也将具有相同的本地IP。如果您将服务器公开,则应检查DNS提供程序。

祝你好运!

答案 1 :(得分:0)

客户端查看自己的ip,因此知道服务器的ip是什么样的。然后它只是尝试围绕自己的IP的IP地址。设置超时一秒。只需几秒钟就可以选择正确的ip。

答案 2 :(得分:0)

我的答案基于@Greenapps建议的内容 我只是通过可能的IP地址和Eureka循环!

客户

<html>
<head>
<script>
var i = 0;
window.setTimeout(testip,1000);
while(i<=255){
       testip(i++);
}
function testip(j){
 var xmlhttp = new XMLHttpRequest();
        xmlhttp.onreadystatechange = function() {
            if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                if(xmlhttp.responseText.indexOf("192.168.1")>-1)
                window.location.href ="http://"+xmlhttp.responseText+":8080/rest/server/categorie.php";
            }
        };
        xmlhttp.open("GET", "http://192.168.1."+j+":8080/rest/server/getip.php", true);
        xmlhttp.send();

}

</script>
</head>
</html>  

SERVER (getip.php)

<?php
    header('Access-Control-Allow-Origin: *'); 
     echo getHostByName(getHostName());
?>