@sportik174

Как настроить клиент на socket.io для django channels?

Есть вот такой код на клиенте:
const lat = 132;
        const lng = 132;
        const server = 'wss://example.ru';
        const login = '123';
        const pass = 'qwerty123';
        const socket = io.connect(
            server, 
            { 
                transports: ["websocket"],
                path: "/ws/test/"+login+"/"+pass+"/"
            }
        );


Есть вот такой код на сервере на Django channels файл consumes.py:
class TestConsumer(WebsocketConsumer):
    """ Соединие с приложением """
    def connect(self):
        user_login = self.scope['url_route']['kwargs']['user_id']
        user_password = self.scope['url_route']['kwargs']['password']
        print(user_login)
        print(user_password)
        print(self.scope)
        if user_password == 'qwerty123':
            print('Пароль верен')
            self.accept()
            self.send(text_data="2000")
        else:
            print('Пароль неверен')
            self.close()

    def receive(self,text_data=None, bytes_data=None):
        print(text_data)
        print(bytes_data)
        
    def disconnect(self, close_code):
        # print('disconnect')
        pass


При попытке подключиться с клиента происходит connect и почти сразу disconnect

Тем не менее вот этот код на клиенте работает отлично с сервером:
var url = 'wss://example.ru/ws/test/';
            var user_login = '123';
            var user_password = 'qwerty123';

            var chatSocket = new WebSocket(
                url+user_login+'/'+user_password+'/'
            );
  • Вопрос задан
  • 65 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы