手机应用程序网络通信是采用socket的rpc方案还是http方案好,另外数据传输有json,protobuf,thrift,msgpack很多,似乎json用的比较多,但是json数据包比较大,是不是不太适合GPRS这种移动网络传输,用msgpack等二进制会不会更好?
HTTP+json,毫无疑问,简单,通用。
折腾那些复杂的东西,毫无意义。如果你单次数据量过大,那么是设计问题,需要优化设计
这个没有具体的,得看你的需求,我的经验—— 1.如果通信频繁&&每次数据量不大的话,使用sock 2.如果一次通信数据量大,使用json,soap,xml之类的话就使用http的吧,xml可以大规模的包装数据
还是看你的应用需求吧,如果需要服务器端主动给客户端发送数据,
一种是客户端一段时间轮询请求,一种是用socket做长连接
这种选择我也遇到过,当初我们选择的是用socket,主要出于两个原因:
- 手机客户端是后来才写的,服务器之前就写好了,是基于socket的
- 对HTTP和web服务器不了解
如果现在重新让我选,我肯定选HTTP了。
如果你现在服务器是从0开始写的话,建议直接用HTTP,可扩展性强,而且服务器开发成本会低很多,如果用socket的话,服务器设计的时候会涉及到如何提供高并发、高吞吐之类的问题,如果直接nginx之类的现成的,就不会有这种问题了。
欢迎讨论