Jquery поток WebSocket в нескольких браузерах - PullRequest
0 голосов
/ 10 апреля 2020

Я создаю приложение чата, используя django каналы, из канала django каналов. Я могу отправлять и получать сообщения без каких-либо проблем,

from channels.consumer import AsyncConsumer

class ChatConsumer(AsyncConsumer):

    async def websocket_connect(self, event):
        print("connected", event)
        await self.send({
            "type": "websocket.accept"
        })
    async def websocket_receive(self, event):
        print("receive", event)

        text = event['text']
        await self.send({
            'type': 'websocket.send',
            'text': text,
        })

    async def websocket_disconnect(self, event):
        print("disconnected", event)

Вкл. JQuery часть ниже мой JQuery WebSocket Try Out

var socket = new WebSocket("ws://127.0.0.1/ws/chat/");

socket.onopen = function(e) {
    console.log('Connection Established')
    // socket.send("My name is John");
};

socket.onmessage = function(event) {
    console.log(event.data);
};

socket.onclose = function(event) {
if (event.wasClean) {
    console.log('[close] Connection closed cleanly, code=${event.code} reason=${event.reason}')
} else {
    // e.g. server process killed or network down
    // event.code is usually 1006 in this case
    console.log('[close] Connection died');
}
};

socket.onerror = function(error) {
    console.log('[error] ${error.message}')
};

$('#send-msg').on('click', function () {
    var msg = $("#msg").val();
    console.log(msg)
    socket.send(msg)
});

Я открыл два разных браузера (Chrome и Chrome Incognito) рядом и открыл консоль, чтобы увидеть логи, я вижу Установлено соединение войти в оба браузера, когда я попытался отправить сообщение из одного браузера, сообщение получено одним и тем же браузером, а сообщение не получено в другом браузере. Вот как получается, что я передаю полученные данные сформировать сервер для обоих браузеров. Я прошу вас, пожалуйста, направьте мне некоторые предложения для достижения этой цели. Заранее спасибо.

...