Я создаю приложение чата, используя 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) рядом и открыл консоль, чтобы увидеть логи, я вижу Установлено соединение войти в оба браузера, когда я попытался отправить сообщение из одного браузера, сообщение получено одним и тем же браузером, а сообщение не получено в другом браузере. Вот как получается, что я передаю полученные данные сформировать сервер для обоих браузеров. Я прошу вас, пожалуйста, направьте мне некоторые предложения для достижения этой цели. Заранее спасибо.