gpt4 book ai didi

php - 使网络服务器成为双方之间的中继

转载 作者:行者123 更新时间:2023-11-30 03:59:07 24 4
gpt4 key购买 nike

我想通过网络控制机器人,机器人已连接到 Android 设备。操作如下:

  • 使用 JavaScript 和 HTML 编写的 Web 应用程序在桌面计算机上运行,​​它从用户那里获取键盘输入并将其发送到连接到机器人的 Android 设备。

  • android设备接收命令,然后将它们发送到用于控制机器人的Arduino板。

但是我应该如何将数据传送到没有静态 IP 地址的 Android 设备?

我有两种方法来解决这个问题:

  1. JavaScript 应用程序将键盘输入发送到运行 PHP 和 MySQL 的网络服务器,然后 php 应用程序将数据存储在 MySQL 数据库中。应用程序在连接到该网络服务器的 Android 上运行,并从 MySQL 数据库中提取数据。

  2. JavaScript 将数据发送到网络服务器。连接到web服务器的android应用程序直接接收数据,所以web服务器只是一个中继。

第一种方法很容易做但是很慢,所以我的问题是......

如何实现第二种方法以及我应该使用哪些网络技术来实现它?以及如何让Web服务器作为双方之间的中继?

PS:我打算使用 000webhost.com 作为网络服务器。所以我不会使用我自己的服务器

最佳答案

您可以让您的 Android 应用程序轮询网络服务器以获取未完成的命令。这在数据使用方面效率有点低,但如果您使用的是无限 3G 计划/wi-fi,您可以接受它。这将非常容易实现。

或者,在您的服务器上设置一个 TCP 服务器,并让您的 Android 应用程序打开与该服务器的套接字连接。这样,您的 Web 应用程序可以将命令发送到服务器,服务器将立即将它们流式传输到 Android 设备。实现起来会稍微困难一些,但如果做得好,会更高效、更稳健。

PS - 大多数共享服务器不允许您在主机上打开 TCP 服务器,因此您可能被迫选择第一个选项。

PPS - 我不知道谷歌云消息传递。对于您要实现的目标来说,这似乎是一个很好的解决方案。你应该看看它。

关于php - 使网络服务器成为双方之间的中继,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12823939/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com