What is the best server client communication protocol to use in Android and iOS?

痴心易碎 提交于 2019-12-21 07:56:22

问题


We have a server application (implemented in Java) that will provide some data for our mobile apps. The apps will be created for Android and iOS.

Which is the best protocol / library for this purpose? The overhead of the protocol should be as small as possible.

Thanks.

Edit: It should be a request->response szenario. Data lost is not acceptable. The answer could contain a long list of data and therfore less overhead is required.

The client shall request the data (a specified key and some definied parameters) e.g. "give me all file from folder x that have the extension y". The server answers with the list.

The first idea was using XMLRPC, but the generated responses are too large.


回答1:


For most applications, HTTP(S) is the best protocol to use. The overhead (i.e. headers) is pretty small, the transfer can be gzipped, the connection can be secured (via SSL). Also, ports 80 (HTTP) and 443 (HTTPS) will be open in 99% of cases. Other ports are not -- for example some carriers block all other ports unless you pay extra.


As for the implementation, I suggest a RESTful web service using the JSON format. JSON is well standardized, has small overhead and you have good libraries for working with it in any language (check out org.json, which is bundled with Android but can be downloaded as standalone for other applications as well). Check out this question, too:

  • https://stackoverflow.com/questions/338586/a-better-java-json-library



回答2:


Use Jackson parser or Gson parser instead of JSON Parser.

1.Jackson is 2X faster than JSON and it is suitable for parsing complex and extremely big jsons.

2.Gson competitively faster than JSON.




回答3:


In My Opinion, you should use REST/SOAP web sevices based on document-oriented structures, This will be helpful in the Large response.

You can also integerate Apache SOLR for this Purpose this is used for Indexing the Large Datasets and is even much faster and it is also REST enabled, you can index your data in the SOLR cores and then create REST calls from Client i.e. IOS, Android, PHP etc. so the documents will already be processed and you just need to add filters and other things as required on client.

Let me know if you want any more help regarding this.



来源:https://stackoverflow.com/questions/4278949/what-is-the-best-server-client-communication-protocol-to-use-in-android-and-ios

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!