0

我已经实现了一个带有活动和远程服务的 android 程序。Activity 使用 AIDL 与服务进行通信和交互,但在同一台机器上,并且知道它们使用 IPC 机制相互通信。现在,我想将它们放在不同的机器上并在它们之间建立连接。我正在尝试使用套接字进行连接,但我不知道该怎么做。如何启动/停止和绑定与活动在不同机器上运行的服务?插座是这种情况下的最佳选择还是有其他更好的解决方案?我是否需要更改 Android 操作系统上的 Binder 类来处理这个问题?如果您能帮助我找到解决方案,我将不胜感激。

谢谢,拉

4

1 回答 1

2

如何启动/停止和绑定与活动在不同机器上运行的服务?

你没有。

插座是这种情况下的最佳选择还是有其他更好的解决方案?

由于 NAT 限制等原因,通常无法通过 Internet 进行直接的设备到设备通信,除非它们都在同一个 WiFi 路由段上。这与直接 PC 到 PC 通信的问题没有什么不同,增加的挑战是您通常无法控制所涉及的防火墙。大多数解决方案都涉及在中间使用服务器,充当代理或代理。

我是否需要更改 Android 操作系统上的 Binder 类来处理这个问题?

你不需要使用Binder. Binder是 IPC(进程间通信),而不是 RPC(远程过程调用)。

于 2012-06-09T13:59:48.603 回答