1

让我描述一下我想要实现的目标以及我遇到的困难。可以提出一个完全不同的替代方案。

  1. 我有一部带有 NFC 功能的 Android 手机。
  2. 我有一个macbook pro。
  3. 一个无线网络。

每当我在某个 NFC 标签上点击我的手机时,我都希望我的 Macbook 运行某个脚本。

所以我做了以下

  1. 每当设备感应到特定的 NFC 标签时调用的 android 应用程序。
  2. 我的 Macbook 运行 NodeJS HTTP 服务器
  3. Android 应用程序向 NodeJS 发送 HTTP 请求,然后 NodeJS 调用我想要运行的任何脚本。

此设置在我的家中完美运行,我可以将我的 Macbook 的 IP 地址设置为任何我想要的。但是当我在星巴克(或工作场所)并且我的 Android 和 Macbook 都在同一个 Wifi 网络上时,我希望相同的设置能够透明地工作。(我不想手动输入 IP 地址)。

当我进行到一半时,我意识到我可以在 Macbook 上使用蓝牙功能,但是我可能不得不在 Macbook 上编写一个复杂的程序来监听 Android 设备并接受命令。

4

3 回答 3

2

解决方案#1
使用网络服务发现技术。我可能会建议Apple 实施为“Bonjour”的零配置

解决方案 #2
让第三台设备具有已知的 IP 地址来记录其他设备的 IP(本质上是 DNS)

解决方案#3
将您的 WiFi 网络设置为具有静态 IP:将预定义的 IP 分配给具有特定 MAC 地址的计算机(这样客户端仍然可以拥有“DHCP”,但路由器将始终分配相同的本地 IP)

于 2013-05-15T20:33:55.517 回答
2

在 Android 上,使用网络服务发现。如果您使用的是较早的目标,jmDNS是您的朋友。我只使用它来允许 android 设备找到彼此,但这应该与 Mac 上的 bonjour 服务兼容。

于 2013-05-15T03:58:17.310 回答
-1

我会研究动态dns。您可以使用它来自动更新更改 IP 地址的计算机的 dns 名称。

于 2013-05-15T02:40:32.847 回答