WebSocket HANDSHAKING /ws/play/testroomcode [127.0.0.1:57522] Исключение внутри приложения: __call__() отсутствует 1 необходимый позиционный аргумент: 'send'

Когда я пытаюсь подключить свой websocket, он показывает эту ошибку:

Ошибка:

WebSocket HANDSHAKING /ws/play/testroomcode [127.0.0.1:57522] Исключение внутри приложения: call() missing 1 required positional argument: 'send'

Код внутри моего asgi.py :

import os
from django.urls import path
from channels.routing import ProtocolTypeRouter, URLRouter
from channels.auth import AuthMiddlewareStack
from tictactoe.consumers import GameRoom
from django.core.asgi import get_asgi_application

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

application = get_asgi_application()    
ws_pattern = [
    path('ws/play/<room_code>', GameRoom)
]  
application= ProtocolTypeRouter(
    {

        'websocket': AuthMiddlewareStack(URLRouter(
            ws_pattern
        ))
    }
)

Код внутри моего consumer.py :

from channels.generic.websocket import WebsocketConsumer
from asgiref.sync import async_to_sync
import json    
class GameRoom(WebsocketConsumer):
    def connect(self):
        self.room_name = self.scope['url_route']['kwargs']['room_code']
        self.room_group_name = 'room_%s' % self.room_name
        print(self.room_group_name)

        async_to_sync(self.channel_layer.groups_add)(
            self.room_group_name,
            self.channel_name
        )

        self.accept()

    def disconnect(self, code):
        async_to_sync(self.channel_layer.groups_discard)(
            self.room_group_name,
            self.channel_name
        )
    def receive(self, text_data):
        print(text_data)
        async_to_sync(self.channel_layer.groups_send)(
            self.room_group_name,{
                'type' : 'run_game',
                'payload': text_data
            }
        ) 

В websocketking он показывает:

Не удалось подключиться к "ws://127.0.0.1:8000/ws/tictactoe/play/testroomcode". Вы можете найти больше информации, используя Inspector/Dev Tools на этой странице.

Я нашел средство.

Я изменил свой asgi.py :

    path('ws/play/<room_code>', GameRoom.as_asgi())
]  
Вернуться на верх