Теперь мой проект использует Django в качестве API и NodeJs (SocketIO) в качестве сервера, который требует Realtime для отправки уведомлений
Я пытаюсь отправить уведомления в Node.js Socket.io, используя Redis PubSub, ноне успехПожалуйста, проверьте мой код ошибки:
Мой код Python.Я публикую в myChannel пример сообщения:
def test_vew(request):
REDIS_SERVER = redis.Redis(host='localhost', port=6379, db=0)
REDIS_SERVER.publish("myChannel", "Demo Message")
return Response({ "success": True }, status=200)
Мой код NodeJS:
var app = require('http').createServer()
const PORT = process.env.PORT || 3000;
var redis = require('redis').createClient();
const server = app.listen(3000, () => console.log('listening on port 3000'))
//sockets
const io = require('socket.io').listen(app)
redis.subscribe('myChannel', (message) => {
console.log(`Got message ` + message)
})
io.sockets.on("connection", function(socket) {
console.log("A User Connected to SocketIO");
redis.on("pmessage", function(pattern, channel, message) {
console.log(channel, message);
});
});
Когда я запускаю функцию в Django, My NodeJS Socket Subscribee не может получить сообщение (ничего не отображается в консоли).Я не знаю причину.Пожалуйста, помогите мне об этой проблеме!