6.channels 配置websocket
pip3 install channels # 安装
#INSTALLED_APPS 中注册channels
 INSTALLED_APPS = (
     'channels',
 )
#添加ASGI支持websocket ,指向项目下asgi文件的application
ASGI_APPLICATION = "demo.asgi.application"
import os
from django.core.asgi import get_asgi_application
from channels.routing import ProtocolTypeRouter, URLRouter
from WebSocketPretty import routing
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'DemoName.settings') # 添加项目配置
# application = get_asgi_application() 只支持http,注释掉该行
# 既支持http又支持websocket
application = ProtocolTypeRouter(
    {'http': get_asgi_application(),  # 自动找urls.py  视图函数 - > http请求
     'websocket': URLRouter(routing.websocket_urlpatterns)  # routing 相当于urls.py 路由
     }
)
from django.urls import path
from WebSocketPretty import consumers #consumers相当于ws视图
websocket_urlpatterns = [
    # 请求地址匹配ws/ ,走websocket视图处理
    path('ws/',consumers.ChatConsumer.as_asgi())
]
from channels.generic.websocket import WebsocketConsumer
from channels.exceptions import StopConsumer
class ChatConsumer(WebsocketConsumer):
    def websocket_connect(self, message):
        # 有客户端向后端发送websocket连接的请求时,自动触发
        self.accept()  # 服务端允许和客户端创建连接
    def receive(self, text_data=None, bytes_data=None):
        # text_data 是前端向后端发送数据,自动触发接收消息
        print(text_data)
        # send 是后端向前端发送数据
        self.send('ok')
    def websocket_disconnect(self, message):
        # 客户端与服务端断开连接时,自动触发
        raise StopConsumer
6.channels 配置websocket的更多相关文章
- Django使用channels实现Websocket连接
		
简述: 需求:消息实时推送消息以及通知功能,采用django-channels来实现websocket进行实时通讯.并使用docker.daphne启动通道,保持websocket后台运行 介绍Dja ...
 - nginx配置websocket
		
有时候我们需要给websocket服务端做一下nginx的配置,比如需要给websocket服务端做负载均衡,或者,有些系统要求访问websocket的时候不能带端口,这时候我们就需要用nginx来进 ...
 - 从配置websocket理解nginx
		
原文地址:http://www.niu12.com/article/2 今天由于写了一个简单的基于h5 websoceket的聊天室,再本地都是好好了. 但是上到服务器后就发现无法行的通, 查 ...
 - Nginx 配置Websocket
		
Nginx反向代理配置websocket nginx.org 官网推荐如下的配置,也可以直接看官网:http://nginx.org/en/docs/http/websocket.html http ...
 - 【Nginx】面试官问我Nginx能不能配置WebSocket?我给他现场演示了一番!!
		
写在前面 当今互联网领域,不管是APP还是H5,不管是微信端还是小程序,只要是一款像样点的产品,为了增加用户的交互感和用户粘度,多多少少都会涉及到聊天功能.而对于Web端与H5来说,实现聊天最简单的就 ...
 - 在vue中如何使用WebSocket 以及nginx代理如何配置WebSocket
		
WebSocket WebSocket是一种网络传输协议,可在单个TCP连接上进行全双工通信.浏览器和服务器只需要完成一次握手,两者之间就可以创建持久性的连接,并进行双向数据传输. 浏览器支持情况 现 ...
 - Apache 配置 WebSocket 协议
		
本文使用 http proxy 方式 实现 apache 支持 WebSocket 请求(JK 使用的 ajp 协议不能支持websocket) 通过 apache 访问 后端 tomcat上的 w ...
 - 【运维】在Windows上使用IIS方向代理配置Websocket
		
最近在做小程序的项目,微信要求所有数据请求通道都要走https或wss.而我们的项目建设如下: api基于C#的MVC webapi开发. websocket基于Nodejs的thinkjs框架开发. ...
 - Django配置websocket请求接口
		
1.settings.py INSTALLED_APPS = [ '...', 'channels', '...', ] ASGI_APPLICATION = 'server.routing.appl ...
 
随机推荐
- LuoguP1283 平板涂色(状压DP)
			
参考了I_AM_HelloWord的代码,\(f[i][j]\)表示转态\(i\)时最后一刷为\(j\)的最小代价,上面的块可用暴力填涂,注意边界 #include <cstdio> #i ...
 - java中的字符流知识点总结
			
java中字符流 字符流:对文本的读取,速度比字节流快 常见的字符流:Reader 和 Writer Reader是InputStreamReader的父类,InputStreamReader是Fil ...
 - Python入门系列(三)一学就会-基础数据类型
			
数据类型 您可以使用type()函数获取任何对象的数据类型. x = 5 print(type(x)) 数字类型 x = 1 # int y = 2.8 # float z = 1j # comple ...
 - vscode 快速注释和撤回快捷键
			
好家伙,天天忘,建议先练个十遍上手 1.快捷行注释 Ctrl + / 2.快捷块注释 Alt + Shift + A 3.撤回 Ctrl + Z 4.恢复撤回(撤回你的撤回) Ctrl + Shift ...
 - 可别小看了XSS漏洞
			
可别小看了XSS漏洞  对于初了解xss漏洞的人来说,XSS漏洞的危害就是获取受害者的cookie,来进行 'cookie劫持'.  今天就总结一下XSS漏洞的危害性,望安全人员不要轻视,开发人员 ...
 - 开源IPTV源服务程序使用教程
			
Streaming-Media-Server-Pro 前言 我的目标是将程序打造成属于每个人的直播源服务,且对每个人完全开源免费!可作为家庭影院电视.视频等流媒体的提供商,兼容全平台,只需下载视频播放 ...
 - 【PMP学习笔记】第5章 项目范围管理
			
一.规范管理的内涵 项目范围管理:包括确保项目做且只做所需的全部工作,以成功完成项目的各个过程. 项目范围:为交付具有规定特性与功能的产品.服务或成果而必须完成的工作. 预测型:开始时定义可交付成果, ...
 - 大促活动如何抵御大流量 DDoS 攻击?
			
每一次活动大促带来的迅猛流量,对技术人而言都是一次严峻考验.如果在活动期间遭受黑产恶意DDoS攻击,无疑是雪上加霜.电商的特性是业务常态下通常不会遭受大流量DDoS攻击,且对延迟敏感,因此只需要在活动 ...
 - Docker 完整版教程
			
Docker 安装 一.安装前必读 在安装 Docker 之前,先说一下配置,我这里是Centos7 Linux 内核:官方建议 3.10 以上,3.8以上貌似也可. 注意:本文的命令使用的是 roo ...
 - 利用C库函数time()打印当前系统动态时间
			
引入日期和时间头文件 #include<time.h> 用time_t定义一个存储时间的变量获取时间(以秒为单位) time_t t; time (&t); //获取1970年以来 ...