'Send disconnect message to WebSocket in Django Channels

I am using Django==3.2.5 and channels==3.0.4. In the consumers.py I am using WebsocketConsumer class. My disconnect() method is executed After disconnecting the socket, which means the disconnect method is unable to send a response to the socket. I found a similar issue in this link but they are using AsyncWebsocketConsumer class. Is there a way to solve it using WebsocketConsumer class?

I have the following code:

class MeetingStatus_Consumer(WebsocketConsumer):


    def connect(self):

        self.room_name = self.scope["url_route"]["kwargs"]["id"]
        self.room_group_name = 'Booking_id_%s' % self.room_name

        # Adding room_name and group_name to the channel
        async_to_sync(self.channel_layer.group_add)(
            self.room_group_name,
            self.channel_name
        )

        self.accept() # accept the request from frontend

        self.send(text_data=json.dumps({'status': "Websocket Connected"})) # send data to frontend


        

    

    def disconnect(self, *args, **kwargs):

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

        self.send(text_data=json.dumps({'status': "Websocket disconnected"}))


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source