android和Server之间的双向通信

时间:2012-02-22 06:43:16

标签: android web-services sockets

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

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

从Android到服务器和服务器到Android的通信彼此独立我不应该将其视为双向通信,但事实上我希望任何时候都能从双方进行通信。

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

2 个答案:

答案 0 :(得分:3)

您可以使用websockets或...

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

答案 1 :(得分:0)

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

您可以同时使用此逻辑。