> 
> I am using Django-Channels3 with django-redis, following a youtube
> tutorial, being a newbie @ Websockets, i got no idea, why
> WebSocketKing Client throwing this error
> 
> 
> 

Could not connect to "ws://localhost:8000/ws/test/". You may be able to find more information using Inspector/Dev Tools on this page.

**Error :-**

```
WebSocket HANDSHAKING /ws/test/ [127.0.0.1:58045]
    Exception inside application: __call__() missing 1 required positional argument: 'send'
    Traceback (most recent call last):
      File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/channels/staticfiles.py", line 44, in __call__
        return await self.application(scope, receive, send)
      File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/channels/routing.py", line 71, in __call__
        return await application(scope, receive, send)
      File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/channels/routing.py", line 150, in __call__
        return await application(
      File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/asgiref/compatibility.py", line 35, in new_application
        return await instance(receive, send)
    TypeError: __call__() missing 1 required positional argument: 'send'
    WebSocket DISCONNECT /ws/test/ [127.0.0.1:58045]

```

**consumers.py**

```
from channels.generic.websocket import WebsocketConsumer
from asgiref.sync import async_to_sync
import json

class TestConsumer(WebsocketConsumer):
    def connect(self):
        self.room_name = "test_consumer"
        self.room_group_name = "test_consumer_group"
        async_to_sync(self.channel_layer.group_add)(
            self.room_name, self.room_group_name
        )
        self.accept()
        self.send(text_data=json.dumps({'status' : 'connected'}))

    # def receive(self):
    #     pass

    # def disconnect(self):
    #     pass

```

**asgi.py**

```
import os

from django.core.asgi import get_asgi_application

from channels.routing import ProtocolTypeRouter, URLRouter
from django.urls import path

from home.consumers import *

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

application = get_asgi_application()

ws_patterns = [
    path('ws/test/', TestConsumer)
]

application = ProtocolTypeRouter({
    'websocket' : URLRouter(ws_patterns)
})

```

**Settings.py**

```
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'channels',
    'home',
]

ROOT_URLCONF = 'dj_channels.urls'

# WSGI_APPLICATION = 'dj_channels.wsgi.application'
ASGI_APPLICATION = 'dj_channels.asgi.application'

CHANNEL_LAYERS = {
    "default": {
        "BACKEND": "channels_redis.core.RedisChannelLayer",
        "CONFIG": {
            "hosts": [("localhost", 6379)],
        },
    },
}

```