连接两部Android手机通过WIFI传输数据

5
实际上,我正在开发跟踪应用程序,并希望在两个Android手机之间发送位置更新,以便双方可以在地图上相互跟踪。我的应用程序必须从其他Android设备获取实时更新,以便更好地进行跟踪。
我已经搜索了几种技术,但不知道哪一种是最好的。
使用套接字:将一个设备作为服务器,另一个设备作为客户端。 可能的限制: - 如果服务器的IP地址发生更改(因为WIFI没有静态IP),会怎样? - 如果服务器的IP地址是私有的,则无法访问。 - 只有客户端可以连接到服务器,而服务器无法连接到客户端。
使用中间服务器:创建一个中间服务器并通过该服务器进行通信。 可能的限制: - 速度较慢,因为每个Android设备首先将这些更新发送到服务器,然后服务器将这些更新推送到其他Android设备。
请提供您对哪种方法最好的建议。
2个回答

2

由于您没有说明想要支持的设备API级别,我将为您提供适用于Android v4(API级别14)设备的选项。它被称为Wi-Fi Direct,允许手机之间进行P2P连接。它本质上是一种套接字方法,但允许轻松的邻居发现,并且可以在两个方向上进行传输。


谢谢您的回复。我正在开发API级别为10的应用,因此无法使用Wi-Fi直连。 - Johni Deep

2

嗯,Wi-Fi已经不可用了,至少对于你所说的目的是如此。除非你的地图非常小。Wi-Fi信号范围大约为100米(在非常好的情况下)。

我对Android的了解不如其他手机那么多,我想你可能会遇到一些麻烦。我怀疑使用点对点连接到手机可能会很困难,有些供应商可能不允许这种情况发生。

我有一个方法而不是答案..
从安卓手机上,看看能否获取你的IP地址。
从桌面上,ping一下该IP地址。
如果可以,你就已经成功了..
我甚至可以说,鉴于你的信息量不大,你可以使用ping作为主要的数据载体。
Ping可以包含更多内容,不仅仅是随机字节。你可以在你发送的ping中包括一个ID和GPS等内容。
--- 也许还要包括校验和 ---

大部分工作都在桌面上完成,因为开发速度会更快。当你的手机能够接收ping时,发送ping就会变得非常容易。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接