2012-02-22 58 views
4

我想要服务器和Android之间的双向通信。从Android希望每隔10分钟后将我的当前位置坐标发送到服务器。我可以随时向服务器发送消息或图像。与服务器类似,我希望在需要时向Android发送数据。Android和服务器之间的双向通信

应用程序的架构应该是什么。

从Android到服务器和服务器到Android的通信是彼此独立的,我不应该要求它作为双向通信,但事实上我希望任何时候从双方到彼此的通信。

我应该使用任何类型的Web服务,还是只使用网络套接字或其他东西。

回答

3

您可以使用websockets或...

只需从手机发送数据到使用正常请求的服务器。当你想从服务器发送电话到电话,你可以使用推送通知(C2DM),如果你收到这样的推送消息,你知道服务器有你的数据,电话可以使用正常请求下载它;-)。这取决于你想发送的数据。有时候这种方法会很好,有时候最好使用websocket,TCP套接字甚至XMPP协议;-)

+0

这意味着服务器不能明确地向Android发送数据,而是会要求Android手机来从服务器获取数据? – 2012-02-22 07:36:20

+0

如果您使用的是C2DM,则yes - 服务器只能要求电话前来从服务器获取数据。 如果您使用套接字 - 您将能够直接向Android发送数据。 – radzio 2012-02-22 14:06:43

0

您可以使用相同的确认。你需要在你的代码中实现ACK/NACK逻辑。当您发送数据时,只需等待特定时间段的ACK。如果没有收到ACK,您需要发送相同的NACK。这里你需要使用一个session-id(一种双方通信的id,可以是任意的数字)。

您可以在两侧使用此逻辑。

+0

你的答案不清楚,我期待别的。 – 2012-02-22 07:33:37

+0

像你期待的那样? – Android 2012-02-22 07:34:42

+0

我在请求建议我使用Server和Android之间的通信架构。我应该使用Web服务或套接字或其他让我在Android和服务器之间传输数据的东西。 – 2012-02-22 07:42:06

相关问题