使用 IP 地址与安卓设备通信
Posted
技术标签:
【中文标题】使用 IP 地址与安卓设备通信【英文标题】:Using IP address to Communicate with android device 【发布时间】:2021-03-13 04:33:45 【问题描述】:我有一个连接到单独网络的安卓设备的 IP 地址和 MAC 地址。我想使用php
或ajax
与它通信,android 设备没有预先注册,它可以更改。因此,设备会建立第一个联系以发送 IP 和 MAC 地址。
我希望能够在没有他交互的情况下与设备发送和接收数据,例如,我可以等待 android 设备联系服务器并在 PHP 中放置一个动作,如下所示:
if (isset($_GET['action']))
$PageAction = $_GET['action'];
else
$PageAction = 'NoAction';
switch ($PageAction)
case "first_action":
echo "android_action_todo";
break;
default:
echo "No option is selected!";
android 设备现在可以使用/phpfile.php?action=first_action
发送到服务器的URL
并获取回显字符串android_action_todo
。
我想反转这种交互,以便能够将数据从服务器发送到设备,这样我就不必等待 android 播放器制作first interaction
,就能够获得真实的数据-time 而不必等待安卓设备,它可能需要几秒钟、几分钟甚至几小时。
【问题讨论】:
你的问题太笼统了。如果您希望 PHP 将数据发送到 android 设备,该设备需要向您的服务器发出请求,该请求仅以数据进行响应,或者您需要有一些应用程序允许您的服务器可以向其发出请求的传入流量。套接字可能有意义。但是,您需要添加更多设置的详细信息,以及对您尝试过的内容以及卡在哪里的正确解释。这里有很多“我想要...”,但没有“我试过...”。 如果 android 应用可以处理来自服务器的传入请求,我可以使用ajax
使用 android 设备的 IP 地址发送请求吗?例如:$.post("96.158.226.150/action=first",data:data,function(result));
为什么不试试呢?我们不是像橡皮鸭一样在这里,如果您运行 intp 一些您自己无法解决的特定问题,我们会在这里提供帮助。你仍然需要先做一些广泛的研究和一些真正的尝试。然后,您需要向我们展示您的尝试、预期结果并解释实际发生的情况。
我想验证使用ajax
可以访问设备,因为您知道我从设备获取的 IP 是它所在网络的 IP,是否会广播给所有人?或丢弃?在大多数情况下,我需要对我的代码目前的运行方式进行重大更改,而且我手头上的时间很少,尽管在改变一切之前询问它是否可行并没有什么坏处?
【参考方案1】:
要使您的 Android 设备能够响应服务器发起的传入请求,您有以下几种选择:
让 Android 设备运行网络服务器,并将其暴露在其所在网络的防火墙/NAT 路由器上。挑战:复杂,需要正确配置网络。 建立从 Android 设备到服务器的 websocket 连接,并使用它从服务器启动操作。挑战:设备需要运行应用/网页。 使用 Android 推送通知。【讨论】:
以上是关于使用 IP 地址与安卓设备通信的主要内容,如果未能解决你的问题,请参考以下文章