请教各位,如何开发一个Android应用的网络后端?

2011-06-14 00:05:24 +08:00
 reorx
有这样一个Android应用,它(被期望)具有以下特性:
1. 基本完全使用socket与服务器通信。
2. 用户验证机制。
3. 服务器可以主动向客户端推送更新数据(非HTTP式的单向连接)。

它的网络后端,似乎是socket服务器结合数据存储框架,该用什么开发,如何去开发呢?

期望得到的建议:
1. 对这样一个后端架构模型的简单描述。
2. 可使用的python网络框架。
3. 可参考的开源项目(不限语言)。

谢谢各位 :)
11819 次点击
所在节点    Python
27 条回复
clino
2011-11-22 10:42:39 +08:00
感觉"服务器可以主动向客户端推送更新数据(非HTTP式的单向连接)"这个比较难做到.而且这样的话android这边耗电量会比较...
reorx
2011-11-22 12:54:46 +08:00
@clc3123 嗯,websocket相当于满足了web上的实时性需求,不过不能用于android啊,还是要通过socket解决。
ywjno
2011-11-22 12:59:45 +08:00
写一个rest风格的api出来,服务器根据该url请求返回一json文件,客户端接收该json文件并解析出来,这应该是最简单了的吧
reorx
2011-11-22 13:01:45 +08:00
@clino 比较...大。所以后来用了另一个机制,通过在特定的情况下开启HTTP轮询来模拟socket的双向连接。不得不说,HTTP还是最为方便好用啊,尤其对后端而言,只需要扔回Response,什么线程控制、事件驱动,通通不用管啦~
reorx
2011-11-22 13:03:07 +08:00
@ywjno 嗯,大部分HTTP的接口是这样做的,RESTful + json,一直都不会XML ;)
clc3123
2011-11-22 13:19:13 +08:00
@reorx http还是最通用,时间和团队经不起折腾的话,用http最经济啊,管他性能呢
xingzhi
2011-12-13 01:43:19 +08:00
@reorx Http应该是比较好用的。
我觉得您的问题重点在于 “服务器的推送”
对服务器推技术不太了解。

但我想起了一个场景:

Android上,Gmail是如何第一时间提示收到邮件的?
究竟是http轮询还是用socket?

我觉得这点可以借鉴一下。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/14415

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX