我应该如何在服务器和Android手机之间高效地发送JSON数据?

我应该如何在服务器和Android手机之间高效地发送JSON数据?,android,sockets,tcp,battery,Android,Sockets,Tcp,Battery,我正在为android开发一个应用程序,它通过发送JSON字符串与服务器通信来控制它。当它们通过套接字进行通信并且连接保持不变时,客户端和服务器都保持连接,等待消息 目前,我这样做是为了在服务器和客户机上接收数据 while ((input = in.readLine()) != null) { System.out.println(input); } 这会影响电池寿命吗?如果在服务器上运行的服务器更像一个web服务器,这样您可以连接、获取数据,然后断开连接,这会更好吗 问题是,我还需

我正在为android开发一个应用程序,它通过发送JSON字符串与服务器通信来控制它。当它们通过套接字进行通信并且连接保持不变时,客户端和服务器都保持连接,等待消息

目前,我这样做是为了在服务器和客户机上接收数据

while ((input = in.readLine()) != null) {
    System.out.println(input);
}
这会影响电池寿命吗?如果在服务器上运行的服务器更像一个web服务器,这样您可以连接、获取数据,然后断开连接,这会更好吗

问题是,我还需要像聊天这样的流式数据。这样的设置是不合适的

基本上,保持与服务器的tcp套接字连接打开是否会对电池造成巨大压力?而且。。。对于诸如聊天之类的流式数据,当设备进入睡眠状态时,是否最好断开连接并在服务器上保留一个数据缓冲区,以便在重新连接时发送给客户端

更基本地说,在不耗尽电池的情况下发送流式数据的最佳方法是什么


编辑:应用程序是一个围绕游戏服务器的包装器,用于控制它。

对于聊天,我建议使用XMPP协议。您需要设置一个服务器,使用该服务器,然后在您的应用程序中使用类似

如果聊天不总是固定的(例如IRC),那么推送通知呢?@pst聊天是固定的,我编辑了这个问题-这是来自游戏服务器的聊天。