2012-11-14 5 views
0

Node.js로 Azure WorkerRole을 만들려고합니다. 이 작품은 아무런 문제없이. socket.io를 추가하면 에뮬레이터에서 실행해도 Node.js 서버가 시작되지 않습니다. 내 애플리케이션 JavaScript 파일로 node.exe를 시작하면 작동한다.Azure Emulator에서 socket.io를 실행하지 마십시오.

처음에 저는 소켓 .io 모듈을 복사하지 않았기 때문에 Node.js에서 socket.io 모듈을로드 할 수 없었습니다. 그러나 나는 모두를 복사하고, 모듈이 누락 된 경우 표시된 오류 메시지는 하나가 아닙니다.

콘솔에 오류 메시지는 다음과 같습니다

...\node_modules\socket.io\lib\Manager.js:104 
Server.on<'error', function(err) { 
TypeError: Object 12345 has no method 'on' 

내 Node.js를 코드 :

var port = process.env.port || 12345; 
var io = require('socket.io').listen(port); 
// start socket 
io.sockets.on('connection', function (socket) { 
    socket.emit('news', { hello: 'world' }); 

    // create new push session 
    socket.on('cid', function (cid) { 
     console.log(cid); 
    }); 
}); 
console.log("Server running at port %d", port); 

답변

2

사용 var port = parseInt(process.env.port) || 12345. the code에 따르면 listen의 첫 번째 매개 변수는 해당 유형이 number 인 경우에만 포트로 처리되지만 환경에서 얻은 것은 string입니다.

+0

그게 전부입니다. 감사! –

+0

고맙습니다, 그 작품 !!! – bernard

관련 문제