2014-09-09 2 views
0

방금 ​​NodeJS, Socket.IO 및 모든 종속성을 설치했습니다. 그런 다음 Socket.IO의 문서최소 socket.io 서버를 실행할 수 없습니다.

var app = require('express')(); 
var http = require('http').Server(app); 

var io = require('socket.io-emitter')(http); 

var redis = require('socket.io-redis'); 

io.adapter(redis({ 
    host: 'localhost', 
    port: 6379 
})); 

server.listen(80); 

app.get('/', function (req, res) { 
    res.sendfile(__dirname + '/index.html'); 
}); 

io.on('connection', function (socket) { 
    socket.emit('news', { 
     hello: 'world' 
    }); 
    socket.on('my other event', function (data) { 
     console.log(data); 
    }); 
}); 

에 따라 아래의 코드를 실행하려고하지만 if (!opts.socket && !opts.host) throw new Error('Missing redis host');

+0

실제로 : 설치가 제대로되어 있습니다 (http://redis.io/topics/quickstart)? – Hinrich

답변

0

던지는이 하나의 라인 오류로 인해 실패, 나는 의심 :

var io = require('socket.io-emitter')(http); 

Emitter 생성자 redis 클라이언트 또는 redis 클라이언트 작성 옵션 (socket 또는 hostport)을 필요로합니다. 둘 다 redis 클라이언트처럼 보이지 않고 클라이언트를 만들 수있는 옵션을 가지고 있지 않은 객체 (http)를 전달하기 때문에 던지고 있습니다.

+0

답변 해 주셔서 감사합니다. 내 코드를 수정 해 주실 수 있겠습니까? 나는 그것을 작동하게 만들 수 없었다. 그리고 내가 미쳐가는 곳은 socket-redis가 필요할 때입니다. socket-redis가 필요합니다. socket-redis src를 보면 socket-emitter가 필요합니다. 왜? – Exception

관련 문제