如何用python的tornado写安卓客户端服务器,如何给客户端发送数据???

如何用python的tornado写安卓客户端服务器,如何给客户端发送数据???... 如何用python的tornado写安卓客户端服务器,如何给客户端发送数据??? 展开
 我来答
jewelry_wolf
2014-05-27 · 超过30用户采纳过TA的回答
知道答主
回答量:66
采纳率:100%
帮助的人:64.5万
展开全部

希望你能问得更详细点。Tornado是一个跟Node.js差不多的轻量级http服务器,用来做移动app的服务器端很合适。你问的是如何给客户端发送数据,我只能猜你的意思是不是通过类似谷歌移动推送服务GCM(以前叫C2DM)来发送通知。如果是这样的话,这里有GCM的介绍:

http://developer.android.com/google/gcm/index.html

国内也有类似的解决方案,比如百度云推送:

http://developer.baidu.com/wiki/index.php?title=docs/cplat/push

这些推送服务的大概流程如下:

  1. 你的云端程序(比如Tornado)形成一个通知;

  2. 你的云端程序向推送服务发送一个请求;

  3. 推送服务向它在客户端的代理转发你的请求;

  4. 客户端代理在安卓上广播这个请求,你的移动app得到这个广播;

  5. 你的移动app可以在通知中心形成一个intent,或是启动你的后台服务来处理这个请求。

追问
我的意思很简单,就是返回给客户端比如json或者XML格式的数据,然后客户端再解析数据。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友079a3d640
推荐于2016-04-14 · TA获得超过270个赞
知道小有建树答主
回答量:241
采纳率:0%
帮助的人:173万
展开全部
#就是其它的框架一样的写, 这儿有一些中文的文档:
http://sebug.net/paper/books/tornado/
class Test(RequestHandler):
    def post(self, *args, **kwargs):
        a = self.get_body_argument("arg1")
        self.finish({"msg": "success", 'a' : a})
    def get(self, *args, **kwargs):
        b = self.get_query_argument("arg2", default="bbb")
        self.finish("There is your response data!!,request param: " + b)
 
urls = [("/test", Test),]
追问
有没有像Django的HttpResponse的这种方法???类似这种http://www.sharejs.com/codes/python/5525
追答
self.finish 就相当于django的 HttpResponse,如果你只是要确定响应的内容的类型:

1.对于返回 json, 就直接返回一个字典 self.finish({"d": "dict"})
2.其它指定类型的话,这样返回就行了:
self.set_header("Content-Type", "application/xml; charset=UTF-8")
self.finish('sss')
3.模板的话,看文档, self.render("xx.html")
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式