如果没有关于这个故事的更多信息,我可以想到一些建议,我相信有很多方法可以解决这个问题。
情况 1:消息未经编辑发送到网站- 这是迄今为止最简单的情况,您可以使用Pusher.com(或类似的东西)而不是编写自己的服务器。Android Client 提供了一个 android 客户端。但这只有在您不想操纵 Android 和网站之间的消息时才有效。如果您希望服务器了解消息(例如出于日志记录的原因),您还可以让服务器收听与网站相同的频道。
-------            --------                  --------  
Android     ---->  Pusher.com      ------>   Website 
-------            --------                  -------- 
案例2:您的服务器需要在中间或者您需要拥有中间人-  
这种设计可能比你想象的更狡猾。这仅取决于许多因素。
例如:  
- 您的服务器需要水平扩展还是需要 HA?  
- Android 设备是仅与一个 WebClient 通信还是向多个 WebClient 发布:1 对 1 通道或 pub/sub?   
- 它有多少服务器处理跟上您的入站负载。
- 您是否需要检索 WebClients 离线时产生的消息。
- 您需要支持哪些浏览器/android 版本。
- ETC...
基于这些因素,您最终可能需要支持这样的设计:
                                                         --------  
                              ---------- out-channel ->  WebClient0
                             |                           -------- 
-------                    --------                      --------  
Android  -- in-channel --> server1 ---- out-channel ->   WebClient1
-------               |    --------                      -------- 
                      |    --------                      --------  
                      \--> server2  ---- out-channel ->  WebClient2 
                           --------                      -------- 
一些帮助您入门的基本框架:
- Pusher.com - 您可以在两个入站/出站通道之间使用您的服务器的两个推送通道。
- http://socket.io/   - 这是一个非常容易使用的 node.js 模块。它包含一个 JavaScript 库,是您出站渠道的绝佳选择。YFI:这个项目也有一个移植到 Java/Netty 的端口。
- http://aws.amazon.com/sqs/ - 这是 AWS 提供的分布式队列。由于跨源策略,它不适用于 Web 浏览器,但 Android 可以很好地向它提交消息。因此,它可以用于入站通道。另外(如 Pusher 通道)SQS 队列支持 pub/sub,因此您可以将消息发布到所有服务器。
有很多框架可以处理实时处理,但在不了解更多信息的情况下,我将限制对这些基础知识的回答。