2014-04-08 5 views
0

나는 Node.js를 (표현) + socket.io와 응용 프로그램을 만드는 중이라서 그리고 내가 routes 폴더node.js에서 socket 객체를 얻는 방법은 무엇입니까?

응용 프로그램의 루트 파일과 같은 외부에서 io.on('connection',function(socket){...의 매개 변수 소켓 객체를 사용하는 방법을 궁금입니다. JS

app.get('/foo/:id?', routes.foo); 

루트/

exports.index = function(req, res){ 
    //do something with socket such as socket.join() 
}; 

어떤 아이디어를 foo.js 또는 팁은 감사하겠습니다.

내 목표는 '/foo/:id?'에 액세스하는 사용자가 id?'라는 socket.io의 방 ( https://github.com/LearnBoost/socket.io/wiki/Rooms)에 가입하도록하는 것입니다 편집. 그래서 나는 당신이 그것을 구현하기 정말 쉽게 express.io

사용해야

exports.index = function(req, res){ 
    //HERE 
}; 
+2

당신은 기본'Socket'를 통해 액세스 할 수 있습니다 'req.connection'. – Joe

+1

@Joe 주석 주셔서 감사합니다.하지만'socket '은'socket.io' 콜백의 매개 변수입니다. socket.io와 관련된 내용은 볼 수 없지만 req.connection의 내용을 엿 보았습니다. 그것에서 또는 나는 무언가를 놓치고 있는가? – suish

+0

req.connection은 Node.js'socket' 객체입니다. socket.io에서 사용할 수있는 정보가 확실하지 않습니다. 죄송합니다. – Joe

답변

1

에서 socket.join('req.params.id')를 호출하고 싶은 당신이 할 수 있습니다 :

exports.index = function(req, res){ 
    req.io.join(req.params.id); // The client for the request joins to the room with name req.params.id 
}; 
관련 문제