您现在的位置是:课程教程文章
django怎么创建websocket
2023-12-18 23:14课程教程文章 人已围观
-
Django项目部署:Linux+Nginx+Uwsgi+Python3+Mysq
Django项目部署:Linux+Nginx+Uwsgi+Python3+Mysq也可以请加小刘老师微信来获取更多课程的视频以及学习资料 课程目标 Django项... -
Python零基础入门/Python教程/Django/爬虫/数据
Python零基础入门/Python教程/Django/爬虫/数据亲爱的同学们: 欢迎来到缔凡教育Python课程,非常开心与你在这里见面,这里... -
Django web 网站开发 项目实战
Django web 网站开发 项目实战基于django的网站后台开发实战项目,分为12次练习,锻炼一步步的实现网站后端... -
纯django开发博客全站2
纯django开发博客全站2...
伴随着HTML5推出的WebSocket,真正实现了Web的实时通信,使B/S模式具备了C/S模式的实时通信能力。WebSocket的工作流程是这 样的:浏览器通过JavaScript向服务端发出建立WebSocket连接的请求,在WebSocket连接建立成功后,客户端和服务端就可以通过 TCP连接传输数据。因为WebSocket连接本质上是TCP连接,不需要每次传输都带上重复的头部数据,所以它的数据传输量比轮询和Comet技术小了很多。
安装dwebsocket
安装方法:
1.通过pip
pip install dwebsocket2
2.通过下载到本地
解压,执行 python setup.py install
使用方法
如果你想为一个单独的视图处理一个websocklet连接可以使用accept_websocket装饰器,它会将标准的HTTP请求路由到视图中。使用require_websocke装饰器只允许使用WebSocket连接,会拒绝正常的HTTP请求。
在设置中添加设置MIDDLEWARE_CLASSES=dwebsocket.middleware.WebSocketMiddleware这样会拒绝单独的视图实用websocket,必须加上accept_websocket 装饰器。
设置WEBSOCKET_ACCEPT_ALL=True可以允许每一个单独的视图实用websockets
一些方法和属性
1.request.is_websocket()
如果是个websocket请求返回True,如果是个普通的http请求返回False,可以用这个方法区分它们。
2.request.websocket
在一个websocket请求建立之后,这个请求将会有一个websocket属性,用来给客户端提供一个简单的api通讯,如果request.is_websocket()是False,这个属性将是None。
3.WebSocket.wait()
返回一个客户端发送的信息,在客户端关闭连接之前他不会返回任何值,这种情况下,方法将返回None
4.WebSocket.read()
如果没有从客户端接收到新的消息,read方法会返回一个新的消息,如果没有,就不返回。这是一个替代wait的非阻塞方法
5.WebSocket.count_messages()
返回消息队列数量
6.WebSocket.has_messages()
如果有新消息返回True,否则返回False
7.WebSocket.send(message)
向客户端发送消息
8.WebSocket.__iter__()
websocket迭代器
上一篇:如何查看django的版本
下一篇:没有了