0
나는 nodejs에 redis와 socketio로 pubsub를 시도하고있다.socketio가있는 nodej에있는 redis pubsub : 게시자가 메시지를 게시하지 않습니까?
내 서버 측 코드는 다음과 같습니다
var host = window.location.host.split(':')[0];
var socket = io.connect('http://' + host);
socket.on('messages',function(msg){
console.log(msg);
})
하지만 index.html을 CONSOLE.LOG에
이 실행되지 않습니다 :var io = require('socket.io').listen(server);
var pub = redis.createClient();
io.sockets.on("connection", function(socket) {
console.log('connecteed');
var sub = redis.createClient();
sub.subscribe("messages");
sub.on("message", function(channel, message) {
console.log('message',message);
socket.emit(channel,message);
});
socket.on("disconnect", function() {
sub.unsubscribe("messages");
sub.quit();
});
});
pub.publish("messages", JSON.stringify({type: "foo", content: "bar"}));
내 HTML 페이지의 index.html을 다음과 같은 스크립트가 포함되어 있습니다.
초등이지만 내 코드에서 오류를 찾지 못했습니다. 어디 있니?
예, 이제 작동합니다. 소켓이 실제로 연결될 때 이벤트가 발생하지 않는 것 같습니다. 이상하게 생각합니다. 아마 더 많은 이벤트가 필요합니다. –