Не удалось подключиться к веб-сокету каналов DjangoPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Не удалось подключиться к веб-сокету каналов Django

Сообщение Anonymous »

Я работаю над демонстрационным приложением для чата в рамках процесса обучения работе с каналами Django и WebSockets. Моя цель — установить связь в реальном времени с помощью WebSocket, но я столкнулся с проблемой, из-за которой происходит сбой подключения к WebSocket. В консоли браузера я постоянно вижу сообщение об ошибке, указывающее, что соединение WebSocket не может быть установлено. Несмотря на настройку необходимых потребителей, маршрутизации и конфигураций ASGI, соединение WebSocket, похоже, не происходит, и я не могу продолжить работу с функциями обмена сообщениями в реальном времени. В консоли мне показывает:
WebSocket connection to 'ws://127.0.0.1:8000/ws/friends/' failed:
(anonymous) @ friends/:12

Это мой файл consumers.py
from channels.layers import get_channel_layer
from channels.generic.websocket import AsyncWebsocketConsumer

class ChatConsumer(AsyncWebsocketConsumer):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.channel_layer = get_channel_layer()

async def connect(self):
self.room_name = self.scope['url_route']['kwargs']['room_name']
self.room_group_name = 'chat%s' % self.room_name

await self.channel_layer.group_add(
self.room_group_name,
self.channel_name
)

await self.accept()

async def disconnect(self, close_code):
await self.channel_layer.group_discard(
self.room_group_name,
self.channel_name
)

Это мой файл routing.py
from django.urls import path
from . import consumers

websocket_urlpatterns = [
path('ws//',consumers.ChatConsumer.as_asgi())
]

и мой файл asgi.py
import os

from django.core.asgi import get_asgi_application
from channels.auth import AuthMiddlewareStack
from channels.routing import ProtocolTypeRouter,URLRouter
import chatapp.routing

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'mysite.settings')

application = ProtocolTypeRouter({
'http':get_asgi_application(),
'websocket':AuthMiddlewareStack(
URLRouter(
chatapp.routing.websocket_urlpatterns
)
)
})

Код внешней части следующий:
{{ chatroom.slug|json_script:"json-chatroomname" }}


const chatRoomname = JSON.parse(document.getElementById('json-chatroomname').textContent)
const chatSocket = new WebSocket(
'ws://'
+window.location.host+'/ws/'
+chatRoomname
+'/'
)

chatSocket.onmessage = function(e){
console.log('This is a message')
}

chatSocket.onclose = function(e){
console.log('Socket closed')
}



Подробнее здесь: https://stackoverflow.com/questions/790 ... ion-failed
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Я не могу подключиться к своему веб-сокету OpenAi к моему веб-сокету в моем скрипте Twilio?
    Anonymous » » в форуме Python
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • Не удалось подключиться к веб-сокету в следующем приложении JS
    Гость » » в форуме Javascript
    0 Ответы
    47 Просмотры
    Последнее сообщение Гость
  • Не удалось подключиться к веб-сокету в следующем приложении JS
    Гость » » в форуме Javascript
    0 Ответы
    52 Просмотры
    Последнее сообщение Гость
  • Не удалось подключиться к веб-сокету
    Anonymous » » в форуме Python
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Как подключиться к существующему веб-сокету в Laravel
    Anonymous » » в форуме Php
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»