我想开发一个与服务器交换数据的Android应用。到目前为止,我不确定软件设计:
我不想将服务器进程实现为Web服务,因为服务器应该能够将数据推送到连接的(Android)客户端。
稍后,我想为iPhone或Windows Phone等其他客户做好准备。因此,我认为为服务器和客户端之间的数据交换选择JSON格式是个好主意。
通过原始套接字发送JSON对象是个好主意吗?是否有符合我要求的库,特别是将对象从服务器推送到客户端?
答案 0 :(得分:1)
你好像在这里问两个单独的问题。
第一个问题是如何将数据推送到客户端设备。 Android上的推送通知本身就是一个完整的主题,在大量的SO问题中进行了讨论。例如,您可以查看Google Could Messaging或MQTT。
第二个问题涉及应用程序数据的表示格式,这与您如何执行推送通知完全不同。是的,JSON是一种通过原始套接字交换数据的优良格式,只要它适合您的应用程序,但请记住,您仍然需要某种封装JSON数据的原始套接字上的消息成帧协议。总的来说,虽然我强烈建议不要尝试在原始TCP套接字上做一些事情,如果可能的话,而是使用位于TCP之上的现有协议库,因为编写自己的消息协议可能比最初实现的工作更多。
例如,您可以选择MQTT来执行推送通知。您可以获取现有的MQTT库,并且可以推出JSON格式的消息,而无需担心低级TCP套接字操作。
答案 1 :(得分:0)
您可以查看Jackson