博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
人生苦短我用python[0x0C] 小试tornado(websocket)
阅读量:5826 次
发布时间:2019-06-18

本文共 1064 字,大约阅读时间需要 3 分钟。

tornado简介

python不仅可以用来做系统或者业务层面的开发,还可以做跟web相关的项目,目前有3个比较广泛流行的python开源web框架,有web.py、tornado、django。web.py 它相对于其他两个框架来讲比较精简上手也比较快,当然了精简的另外一方面就是功能比较简单。tornado 网上流传作者的灵感来自于web.py,tornado跟其他框架相比,经常说的一个特性就是非阻塞服务。最后一个常见的django我们会在另外的文章单独再介绍,个人感觉django 貌似更适合用来做web的前后端融合开发,但django使用起来个人觉得相对比较复杂,需要理解的概念东西比较多,tornado则相对来讲比较适合做web的后端服务,而且使用起来也简单。

tornado使用案例

什么时候我们会用到python的web框架呢?在回答这个问题之前我们先了解一下现状,我们知道当前有2个很成熟,稳定,而且使用面也很广的开源web服务端,apache和nginx,他们都能内嵌或者支持php,lua等动态扩展,可以很好地完成大部分项目对web的需求功能。apache,nginx这些web服务端,它们擅长的地方都是提供http、https或者代理服务,如果请求的连接需要后台长期运行的比如websocket服务,用起来就不太好使。现在微信的小程序都很流行,在微信的小程序里面只有2种网络通信方式可以用,一种是普通的http请求回复型的断连接,一种是支持长连接的websocket,假如需要使用小程序来实现一个长连接的功能,那么websocket则是不二之选。
下面我们通过一个websocket服务器聊天室作为例子,演示tornado框架的简单使用。

先安装tornado

人生苦短我用python[0x0C] 小试tornado(websocket)
编辑main.py文件内容如下:
人生苦短我用python[0x0C] 小试tornado(websocket)
运行main.py文件
人生苦短我用python[0x0C] 小试tornado(websocket)
我们再使用一个在线的websocket测试工具 连接到我们的websocket服务器,记得我们使用的是普通的websocket(ws),所以务必访问http的地址,如果访问了https默认是用wss(SSL的websocket访问是不行的),如下截图所示:
人生苦短我用python[0x0C] 小试tornado(websocket)
一切正常的话,会提示CONNECTED代表连接websocket服务器成功,这个时候我们调用api接口发送一个消息。
人生苦短我用python[0x0C] 小试tornado(websocket)
我们可以看到websocket测试工具连接的websocket成功地收到我们发送的消息。
文章来自微信公众号:睿江云计算
人生苦短我用python[0x0C] 小试tornado(websocket)

转载于:https://blog.51cto.com/13475644/2371291

你可能感兴趣的文章
[分享]Ubuntu12.04安装基础教程(图文)
查看>>
django 目录结构修改
查看>>
win8 关闭防火墙
查看>>
CSS——(2)与标准流盒模型
查看>>
MYSQL 基本SQL语句
查看>>
C#中的Marshal
查看>>
linux命令:ls
查看>>
Using RequireJS in AngularJS Applications
查看>>
hdu 2444(二分图最大匹配)
查看>>
【SAP HANA】关于SAP HANA中带层次结构的计算视图Cacultation View创建、激活状况下在系统中生成对象的研究...
查看>>
DevOps 前世今生 | mPaaS 线上直播 CodeHub #1 回顾
查看>>
iOS 解决UITabelView刷新闪动
查看>>
CentOS 7 装vim遇到的问题和解决方法
查看>>
JavaScript基础教程1-20160612
查看>>
ios xmpp demo
查看>>
python matplotlib 中文显示参数设置
查看>>
【ros】Create a ROS package:package dependencies报错
查看>>
通过容器编排和服务网格来改进Java微服务的可测性
查看>>
re:Invent解读:没想到你是这样的AWS
查看>>
PyTips 0x02 - Python 中的函数式编程
查看>>