【发布时间】:2022-12-18 14:59:08
【问题描述】:
我目前正在构建一个带有 Django 通道的应用程序。
我有一个连接到服务器的 websocket。查看我的终端,似乎 websocket 已成功连接到服务器。
HTTP GET / 200 [0.01, 127.0.0.1:62087] HTTP GET /static/video/js/websocket.js 200 [0.00, 127.0.0.1:62087] WebSocket HANDSHAKING /ws/video [127.0.0.1:62089] WebSocket CONNECT /ws/video [127.0.0.1:62089]但是,websocket 没有收到服务器发送的消息。
这是我的代码:
消费者.pyimport json from channels.generic.websocket import WebsocketConsumer from asgiref.sync import async_to_sync class VideoConsumer(WebsocketConsumer): def connect(self): self.accept() self.send(json.dumps({'message': 'you are connected!'}))网络套接字.js
const address = 'ws://' + window.location.host + '/ws/video' const websocket = new WebSocket(address) const btn = document.getElementById('myButton') websocket.onopen = (event) => { console.log('websocket connected!!!') } websocket.onmessage = (event) => { console.log(event.data) }我想收到消息“您已连接!”在我的浏览器控制台上。 我查看了官方的 django 频道文档,并在谷歌上搜索了解决方案,但未能解决我的问题。我在这里错过了什么?
【问题讨论】:
标签: python django websocket django-channels