首页 / 知识
Python使用websocket的几种方式
2023-11-12 13:45:00
很简单也很强大,前端库因为逻辑不需要更改,所以感觉挺好的,但是这个库Flask-uWSGI-WebSocket好像有个bug,在用这个库的时候,前端js持续接收到空的消息然后触发了onmessage回掉函数,在使用同样的前端js,其他后端库的时候没有这个问题。
这段代码同样使用了flask来进行模板,url之类的解析,不同之处是不再使用flask自带的容器,而是当作一个应用,被gevent里的一个uwsgiserver容器来调用。
而与普通使用方法不同的是注入了handler_class这个类,替换成websocket类型的,具体实现还没有看,但是从逻辑上可以理解,原来的wsgiserver不理解websocket,所以换一个理解websocket的类来进行处理,
所以在foobar的程序中才可以从request的环境变量里获取websocket连接,从这里来看,websockethandler也对websocket连接进行了维护工作,简化了很多工作。
需要注意的是,这个库当前最新版本是0.9.5,网上搜到了一个教程,但是它的版本针对的是0.3.5版本的,这个库的维护者还进行了变更,其中有些api好像有了变化,需要注意。
tornado
tornado_websocket文档
文档已经很全面了,就不贴代码了
优点,回掉方式,在异步化之后,并发处理能力应该不错,因为是原生支持websocket而不像flask需要寻找第三方插件,所以可能更值得信赖
官方给的一个聊天室的例子就很好tornado_chatroom,坑比前面两个flask的少。值得推荐
dwebsocket
官方的没什么坑,django的一个插件,处理websocket,在django这个同步阻塞的库里给了websocket的方法。确实值得推荐,暂时不知道是怎么绕过django的同步阻塞的,有时间了看看它的代码,反正好像代码量也不多的样子。
跟flask的第一个库一样,都是只需要添加一个修饰符就可以了。
总结
折腾了一天多的时间。个人比较感兴趣的几个python的websocket的使用,算是搞通了,至少自己不管是照搬还是适配,总算是能用了。
uwsgi感觉比较原始的控制html,控制返回,独自使用好像不太方便,实际上第一个flask的例子后端应该就是使用uwsgi的,从它的名字就可以看到。
Flask-uWSGI-WebSocket和dwebsocket的方式类似,只是一个用于flask,一个用于django,但是前者有个不大不小的bug,给人感觉不太成熟的样子,后者倒是感觉不错,对于django来说,挺不错的样子,不过django的1.9版本出来了一个通道功能,用于执行类似于websocket的后台长时间的功能,找时间了解下,不过这个功能好像还是插件式提供的语句在,好像在下一个django会合到主分支版本的样子,文档在:
DjangoChannels
tornado是一个新兴的异步框架,了解的不多,感觉上跟flask和django不太一样。但是可以作为利器使用,新手就不多说了。
以上内容为大家介绍了Python使用websocket的几种方式,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注我们http://www.mobiletrain.org/
最新内容
相关内容
linux命令行查看时间?
linux命令行查看时间?,系统,时间,信息,环境,命令,地址,服务,工作,情况,用户数,linux查看系统运行了多长时间使用什么命令方法一:uptime命令 会linux命令代码怎么看?
linux命令代码怎么看?,时间,系统,代码,命令,状态,工具,情况,电脑,实时,基础,linux查看系统命令是什么有的,Linux中有多个命令可以用于查看文件比较好用的Python代码编辑器
比较好用的Python代码编辑器,代码,平台,环境,培训,教育,设计,数据,办公,人员,分析,Python是一款非常简单的编程语言,其功能使用起来都十分方便pycharm无法输入代码?
pycharm无法输入代码?,代码,环境,工具,分析,输入法,键盘,性能,计算机,问题,版本,PyCharm是一款Python语言开发的集成开发环境(IDE),它是许多Pytho大学生报名Python培训课程的好处是
大学生报名Python培训课程的好处是什么?,培训,企业,社会,项目,行业,工作,时间,技术,都会,素养,一、报名学习前沿技术在IT行业,技术在不断变化和python代码的规范建议
python代码的规范建议,代码,异常,二元,设计,数字,下降,一致,培训,标准,空行,1.一致性的建议打破一条既定规则的两个好理由当应用这个规则将导报名Python培训选择哪种方式比较好
报名Python培训选择哪种方式比较好?,培训,工作,基础,时间,情况,在线,最划算,环境,系统,方式,Python不仅是一种高级的编程语言,而且还是一种应用在Python培训中有哪些必学的运算符
在Python培训中有哪些必学的运算符?,项目,培训,数字,变量,赋值,符号,两个,表示,数学,示例,不论是Python还是其他后端编程语言,都少不了运算符的python网络编程及前端常见问题
python网络编程及前端常见问题,数据,服务,分析,培训,状态,前端,区别,服务器,常见问题,上面,当我们学习Python时,需要掌握的的知识有很多,除了有深圳python培训课程哪家靠谱?
深圳python培训课程哪家靠谱?,深圳,人工智能,培训,检测,分析,实战,行业,转型,时间,体系,Python语言简单、易学、易读、易维护,学习成本和时间相学了Python之后能做什么工作
学了Python之后能做什么工作,工作,网站,多地,人工智能,基础,设计,项目,培训,爬虫,方向,最近几年,选择学习Python的人数逐年增加。但是,很多人学零基础学习Python要多长时间?
零基础学习Python要多长时间?,基础,代码,项目,异常,工作,基本知识,培训,分析,时间,目标,这些年Python逐渐为人们所熟知,不管是因为工作还是兴趣