java - 在Android上使用mac地址创建tcp连接

标签 java android tcp mac-address

在 Android 设备上,我想在本地网络上与我只知道 MAC 地址(不知道 IP)的设备创建 TCP 通信。有没有一种方法可以仅使用 mac 地址开始通信,或者直接查找关联的 ip,而无需扫描所有网络寻找设备? 非常感谢

最佳答案

要将服务器的 IP 地址传递给客户端,您可以从服务器发送广播 UDP 数据包。流程可能如下所示:

  1. 服务器打开 TCP 端口并等待 TCP 客户端
  2. 服务器发送带有特定数据的广播UDP数据包(表明该数据包来自您的服务器)
  3. 如果同一网络中有客户端,它就会收到数据包。 客户端读取数据,检查数据包是否来自您的服务器。该数据包还包含您的服务器的 IP 地址。
  4. 就是这样:现在客户端知道 IP 地址和端口,它通过 TCP 连接到您的服务器
  5. 服务器接受新的客户端。连接完成。

以下是如何发送和接收 UDP 数据包的示例:https://stackoverflow.com/a/25520279/798165

关于java - 在Android上使用mac地址创建tcp连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46625537/

相关文章:

java - DVM 和泛型?

android - 文件从 SD 卡中消失

C - TCP 校验和(使用原始套接字)——如何获取 IP 地址

java - .project 文件在 Eclipse 中丢失,但可以在 Windows 资源管理器中看到

android - 将 View 分配给 Activity 时出现空指针异常?

java - Spring MVC - 动态错误处理页面

objective-c - MacOS:UDP/TCP 数据包之间出现奇怪的延迟

python - 如何在 Windows 上发送自定义 tcp 数据包?

java - 我必须在所有 jar 上签名吗?

java - 在 Solr 中的单个字段上启用小写搜索和 docValues