当他们的ips不断变化时,两台机器如何相互检测?

时间:2013-05-15 02:36:30

标签: android macos networking bluetooth wifi

让我描述一下我想要实现的目标以及我陷入困境的地方。建议一个完全不同的选择是可以的。

  1. 我有一部具有NFC功能的Android手机。
  2. 我有一个macbook pro。
  3. 一个wifi网络。
  4. 每当我在某个NFC标签上点按手机时,我希望我的Macbook能够运行某个脚本。

    所以我做了以下

    1. 每当设备感知到特定NFC标签时调用的Android应用程序。
    2. 我的Macbook运行NodeJS HTTP服务器
    3. Android应用程序向NodeJS发送HTTP请求,然后NodeJS调用我想要运行的任何脚本。
    4. 此设置在我的家中完美运行,我可以将Macbook的IP地址设置为我想要的任何内容。但是当我在星巴克(或工作场所)时,我想要相同的设置透明地工作,我的Android和Macbook都在同一个Wifi网络上。 (我不想手动输入IP地址)。

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

3 个答案:

答案 0 :(得分:2)

在Android上,使用Network Service Discovery。如果您使用的是较早的目标,则jmDNS是您的朋友。我只使用它来允许Android设备找到对方,但这应该与Mac上的bonjour服务兼容。

答案 1 :(得分:2)

解决方案#1
使用网络服务发现技术。我或许会建议将Zero Config Apple实施为“Bonjour”

解决方案#2
拥有第三个具有已知IP地址的设备,用于记录其他设备的IP(基本上是DNS)

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

答案 2 :(得分:-1)

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