我应该如何有效地在 Android 手机上的服务器之间发送 JSON 数据?
Posted
技术标签:
【中文标题】我应该如何有效地在 Android 手机上的服务器之间发送 JSON 数据?【英文标题】:How should I go about sending JSON data between a server an an Android Phone Effeciently? 【发布时间】:2012-07-11 01:22:57 【问题描述】:我正在为 android 制作一个应用程序,它与服务器通信以通过发送 JSON 字符串来控制它。在他们通过套接字进行通信并且连接保持不变的那一刻,客户端和服务器都保持连接等待消息。
目前我这样做是为了在服务器和客户端上接收数据。
while ((input = in.readLine()) != null)
System.out.println(input);
这会对电池寿命造成压力吗?如果在服务器上运行的服务器更像是一个 Web 服务器会更好 - 这样您连接,获取数据然后断开连接。
问题是,我还需要用于聊天之类的流数据。像这样的设置不能很好地工作。
基本上,保持与服务器的 tcp 套接字连接打开会对电池造成巨大压力吗?并且...对于聊天等流数据,当设备进入睡眠状态时 - 最好断开连接并在服务器上保留一个数据缓冲区,以便在客户端重新连接时准备好发送给客户端?
基本上,在不耗尽电池的情况下发送流数据的最佳方式是什么?
编辑:该应用程序是游戏服务器的包装器来控制它。
【问题讨论】:
如果不是一直持续聊天(例如 IRC),那么推送通知呢? @pst 聊天是不变的,我编辑了问题 - 它是来自游戏服务器的聊天。 【参考方案1】:对于聊天,我推荐使用 XMPP 协议。您需要设置一个服务器,然后在您的应用程序中使用类似 Smack XMPP client library 的东西。
【讨论】:
以上是关于我应该如何有效地在 Android 手机上的服务器之间发送 JSON 数据?的主要内容,如果未能解决你的问题,请参考以下文章
如何将 Android 手机上的 SQLite 数据库与服务器上的 MySQL 数据库同步?
在Android Studio中关闭手机上的应用程序时如何不关闭套接字
手机上的Python怎么运行操作,代码在电脑上运行的出手机却不行