【发布时间】:2017-06-28 13:45:50
【问题描述】:
嗨!在很多论坛上问过这个问题,没有人能回答我,所以请帮忙!
我已通过 USB 网络共享将 Android 设备连接到 Linux 设备。
在 Android 设备上我有前端(html、js、css)浏览器应用程序,在 Linux 设备上我有后端(node.js)。
在前端和后端之间有一个定义 IP:PORT 的套接字连接。
Androids 网关是 Linux 设备。 Linux 设备已连接到本地网络。
当 Android 设备连接到 Linux 设备时,Linux 设备使用静态 IP 地址初始化名为 usb0 的新网络接口。
套接字基于在每个前端+后端设备实例上都相同的网络 IP。
我有超过 5 个相同的前端+后端设备实例连接到本地网络。
有没有办法在不设置静态的情况下以某种方式找到后端设备 IP 地址?
我的问题从同时启动所有设备开始。有时实例 1 中的 Android 设备从其他实例连接到 Linux 设备,我想通过不使用 Android 连接到 usb0 而是连接到 Linux 设备的 eth0 DHCP 来防止这种情况。我永远无法知道 Linux 设备上将使用哪个 IP 地址,但前端应用程序需要一个 IP:PORT 才能连接。
定义了PORT,所以连接的字符串是{IP + ":3000"}
我知道我可以使用 arp 或类似方式查看网络上的所有 IP 地址,但我需要在应用启动时在前端应用中自动执行此操作。
我想找到 android 设备连接到的第一个设备 IP 地址。这始终是一个前端对 Linux 设备。
或者,如果无法阻止 Android 设备能够使用 Linux 设备上的 IP 表连接另一个实例。
P.S 我知道 Android 也是 Linux,但想回答的人会知道我在说什么。
【问题讨论】:
-
使用哪种编程风格?安卓Java?还是您想从 C/C++ 代码中执行此操作?
-
我想您要问的是:Android 设备如何以编程方式推断它所连接的 Linux 设备的 IP 地址? 对吗?如果是这样,你想用 Java 还是 C 来做?
-
我正在使用 Java 在应用启动时建立系绳(修改后的 cordova 插件)。应用程序是 hibrid 并在 javascript 中保存套接字地址。所以我需要以某种方式告诉应用程序连接到特定的 IP
标签: networking ip iptables