如何用python的tornado写安卓客户端服务器,如何给客户端发送数据???
2个回答
展开全部
希望你能问得更详细点。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
这些推送服务的大概流程如下:
你的云端程序(比如Tornado)形成一个通知;
你的云端程序向推送服务发送一个请求;
推送服务向它在客户端的代理转发你的请求;
客户端代理在安卓上广播这个请求,你的移动app得到这个广播;
你的移动app可以在通知中心形成一个intent,或是启动你的后台服务来处理这个请求。
追问
我的意思很简单,就是返回给客户端比如json或者XML格式的数据,然后客户端再解析数据。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#就是其它的框架一样的写, 这儿有一些中文的文档:
# 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")
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询