如何在同一个wifi上的两个设备之间自动连接?
how to make automatic connection between two devices on the same wifi?
我正在开发一个 phonegap android 应用程序,它需要连接到同一 wifi 网络上的服务器。
如果我提供服务器 ip,应用程序工作正常,但如果路由器关闭,ip 会改变!。我在笔记本电脑上使用 XAMPP 服务器。该应用程序将安装在大约 20 台设备上。这意味着手动方法很痛苦!
- 那么,有没有不知道新ip的情况下自动重连的方法呢?
- 以及,如何操作?
不抱歉,此问题与 phonegap 无关,只是一个前端服务(如 phonegap),始终需要 IP 或 DNS 才能连接到服务器。检查静态 IP 以配置到您的服务器中,因此即使路由器重新启动,它也将具有相同的本地 IP。如果您将拥有服务器 public,您应该检查 DNS 提供商。
祝你好运!
客户端看自己的ip就知道服务端的ip是什么样子的。然后它只是在自己的 ip 周围尝试 ip 地址。设置一秒的超时。几秒钟后,选择了正确的 ip。
我的回答基于@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>
服务器 (getip.php)
<?php
header('Access-Control-Allow-Origin: *');
echo getHostByName(getHostName());
?>
我正在开发一个 phonegap android 应用程序,它需要连接到同一 wifi 网络上的服务器。
如果我提供服务器 ip,应用程序工作正常,但如果路由器关闭,ip 会改变!。我在笔记本电脑上使用 XAMPP 服务器。该应用程序将安装在大约 20 台设备上。这意味着手动方法很痛苦!
- 那么,有没有不知道新ip的情况下自动重连的方法呢?
- 以及,如何操作?
不抱歉,此问题与 phonegap 无关,只是一个前端服务(如 phonegap),始终需要 IP 或 DNS 才能连接到服务器。检查静态 IP 以配置到您的服务器中,因此即使路由器重新启动,它也将具有相同的本地 IP。如果您将拥有服务器 public,您应该检查 DNS 提供商。
祝你好运!
客户端看自己的ip就知道服务端的ip是什么样子的。然后它只是在自己的 ip 周围尝试 ip 地址。设置一秒的超时。几秒钟后,选择了正确的 ip。
我的回答基于@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>
服务器 (getip.php)
<?php
header('Access-Control-Allow-Origin: *');
echo getHostByName(getHostName());
?>