从 Android 到 Android 的消息,没有访问点

Message from Android to Android without Accesspoint

我有两个 Android-设备,我没有 IP 地址 Mac-地址是

 d0:e7:82:fa:90:33 (a)
 8c:bf:a6:a8:77:8f (b)

如何从a发送一个字节到b?可能吗?

编辑:删除了 DatagramSocket-Sources,因为它是基于打包的。

顺便提一下:设备不支持 Wifi-Direct 或蓝牙。

您可以使用UDP 广播消息。它只是简单地广播消息,网络上的每个设备都会收到它,甚至是发送者。 但是,不保证 UDP 中的消息传递,它可能会丢失。所以你需要在客户端处理它。

您的 2 台设备应该通过任何网络连接,然后我们可以使用 DatagramPaket 等通过 UDP 协议 进行通信来自 java.net.DatagramPacket

注意:如果我们只知道它们的 MAC 物理地址就可以在两个设备之间进行通信,那么 网络 需要什么!!

这与网络层定义相矛盾

编辑:

您可以使用 JPcap 应用程序,但您的 2 台设备也应该通过以太网连接。检查 Tutorial and More information

您正在寻找的是 android 提供的丰富的 wifi p2p api。请参阅 https://developer.android.com/guide/topics/connectivity/wifip2p.html

或近距离小包:http://developer.android.com/guide/topics/connectivity/nfc/index.html

如果支持蓝牙,则为更大范围: http://developer.android.com/guide/topics/connectivity/bluetooth.html

这就是我们所拥有的 BlueTooth Data Transfer .

根据您的标准,您应该使用蓝牙进行数据传输。

此处 nice answer 阐明了 Mac Address 的用法。

这是 Android BlueTooth chat

的示例项目

正如某些人提到的,如果没有活动连接,这是不可能的!

因为任何其他方式都会失去支持和保修:

我真的能够在 802.11 中的这些设备之间发送数据包(通过过滤无趣的八位字节)而无需蜜蜂连接,但所有设备都必须被 root!

我成功处理的另一个解决方案:下载 Android OS-Sources 并编译一个真正自己的 OS 修改了权限检查(失去保证)。

可以使用wifi热点技术吗?制作临时网络。 参见 Create Wifi Hotspot Configuration or Programmatically Turn on WiFi hotspot or Android turn On/Off WiFi HotSpot programmatically