android与服务器的双向通信

android与服务器的双向通信,android,web-services,sockets,Android,Web Services,Sockets,我想在服务器和安卓之间进行双向通信。我想在每10分钟后从Android向服务器发送我的当前位置坐标。我可以随时向服务器发送消息或图像。类似地,我希望在需要时从服务器向Android发送数据 我的应用程序的体系结构应该是什么。 从Android到服务器和服务器到Android的通信是相互独立的,我不应该把它作为双向通信来要求,但事实上,我希望双方在任何时候都能相互通信 我应该使用任何类型的Web服务,还是仅使用网络套接字或其他东西。您也可以使用Acknowledge。您需要在代码中实现ACK/NA

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

我的应用程序的体系结构应该是什么。

从Android到服务器和服务器到Android的通信是相互独立的,我不应该把它作为双向通信来要求,但事实上,我希望双方在任何时候都能相互通信


我应该使用任何类型的Web服务,还是仅使用网络套接字或其他东西。您也可以使用Acknowledge。您需要在代码中实现ACK/NACK逻辑。发送数据时,只需在特定时间段内等待确认。如果未收到ACK,则需要发送相同的NACK。这里您需要使用会话id(一种用于双方通信的id,可以是任意随机数)

你可以在两边使用这个逻辑

您可以使用或


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

就像你们所期待的一样?我想建议我一个服务器和Android之间的通信架构。我应该使用Web服务、套接字或其他让我可以在Android和服务器之间传输数据的东西。哦,好的,很抱歉我理解错误,你可以按照我的回答使用Web服务。为什么我不应该使用套接字而不是使用Web服务。哪一个是快速的,因为我希望数据传输是快速的,而且一次会有数千个客户端连接到同一台服务器。我还没有使用SocketConnection,我使用web服务发送和接收数据。所以我问了你同样的问题,这意味着服务器不能显式地向Android发送数据,而是会要求Android手机来从服务器获取数据?Id你正在使用C2DM是-服务器只能要求手机来从服务器获取数据。如果您使用套接字,您将能够直接向Android发送数据。