0

我想管理 2 个应用程序之间的连接,它们将在不同的手机上运行。目的并不重要,可以说这将是某种聊天。

如何在应用程序之间创建这种连接?我知道如何使用 socket 和 serverSocket 类在 pc java 程序上执行此操作,但我想这里有所不同,因为当他在网络之间移动时电话可能会更改他的 ip。

那么你会怎么做呢?您将如何在 2 个应用程序/电话之间建立连接

4

3 回答 3

0

正如您所指出的,由于这两部电话的 IP 地址会发生变化,因此您可能需要使用中介。

这里的一般设计模式是拥有一个具有固定 IP 或 DNS 地址的服务器,用于在两个移动设备之间中继消息。最简单的实现是网络服务器,每部手机都将通过 HTTP(S) 连接到该服务器以传输数据或轮询更新。

有许多后端即服务平台提供这种类型的预先构建的功能,并且可能足以满足聊天系统之类的需求。查看CloudmineParse

如果您需要低延迟或近乎实时的连接,您还可以考虑实现自己的使用 Android C2DM(云到设备消息传递)服务的服务器。

于 2013-02-08T02:44:08.607 回答
0

鉴于您在评论中描述的场景,使用推送通知即谷歌云消息传递 (GCM)可能就足够了。

因此,当program B想要从 更新时program A,它会要求服务器将通知(通过 GCM)推送到program A. 请注意,不会program A每x 次连接到服务器以检查更新。

另一个开箱即用的解决方案是在通信不那么频繁且消息很短的情况下使用 SMS。这里我的意思是短信将由您的应用程序直接处理(假设它有一定的注意词)并且不会进入收件箱,即手机上没有短信通知

于 2013-02-08T03:02:33.053 回答
0

请参阅 Android 的示例蓝牙聊天应用程序,它将让您了解如何实现它。

于 2013-02-08T03:14:00.233 回答