我想管理两个应用程序之间的连接,它们将在不同的手机上运行。 目的并不重要,让我们说它会是某种聊天。
如何在应用程序之间创建此连接?我知道如何使用套接字和serverSocket类在pc java程序上执行此操作,但我想这是不同的,因为手机可能会在网络之间移动时更改其ip。
那你怎么做?如何在2个应用程序/手机之间建立连接
答案 0 :(得分:0)
由于您注意到两部手机的IP地址有所变化,因此您可能需要使用中介。
这里的一般设计模式是让服务器具有固定的IP或DNS地址,以便在两个移动设备之间中继消息。最简单的实现是网络服务器,每个电话将通过HTTP(S)连接到该网络服务器以传输数据或轮询更新。
有许多后端即服务平台可以提供预先构建的此类功能,并且可能足以满足聊天系统之类的需求。查看Cloudmine和Parse。
如果您需要低延迟或接近实时的连接,您还可以考虑实施自己的使用Android C2DM(云端到设备信息)服务的服务器。
答案 1 :(得分:0)
根据您在评论中描述的情况,使用推送通知即Google Cloud Messaging (GCM)可能就足够了。
因此,当program B
想要从program A
更新时,它会要求服务器将通知(通过GCM)推送到program A
。请注意program A
每隔x次不将连接到服务器以检查更新。
另一个开箱即用的解决方案是,如果通信不那么频繁且消息很短,则使用SMS。这里我指的是将由您的应用程序直接处理的短信(因为它有一定的关注词)并且不会进入收件箱,即手机上没有短信通知
答案 2 :(得分:0)
请参阅Android简单蓝牙聊天应用程序,它将为您提供如何实现它的想法。