2013-03-31 4 views
1

나는 nodejs에서 expressjs 및 socket.io로 작업하고 있습니다. HTTP 또는 websockets/socket.io를 통해 요청한 요청에 동일한 경로 처리기를 지정하려고합니다. 예를 들어Express 및 Socket.io 경로 지정/복사/공유

:

var responder = function(req, res){ 
    req.params //<-- {id: 'something...'} 
} 
app.get('/foo/:id', responder); 
io.on('/foo/:id', responder); 

socket.io는 라우팅 기능의 유형이 표시되지 않습니다. 누구든지 라이브러리/모듈에 대해 알고 있습니까?

답변

3

몇 가지 옵션이 있습니다. 당신이 을 계속 사용하려는 경우

  • , express.io을 확인하십시오.

  • 조금 다른 것을 사용하고 싶다면 sails을 사용하면 이런 종류의 작업을 수행 할 수 있습니다.

는 :

모두가 성공적으로 생산에 사용되어왔다 (업데이트 돛 지금 너무 표현 사용).

라우팅도 매우 간단하게 구현할 수 있습니다. how express do it을 확인해 보면 필자가 요구하는 슬림 구현을 이해할 수있을 것입니다.

행운을 빈다. 당신이 무엇을 사용했는지 그리고 어떻게 당신을 위해 일했는지 알려주십시오.

+0

안녕하세요. Benjamin 님의 답변에 감사드립니다. express.io에 익숙하지만 route 1 : 1과 일치 할 수없는 것처럼 보입니다. 대신 HTTP 요청을 socket.io 이벤트 처리기 함수로 전달할 수있는 것 같습니다. 그리고 돛은 좋아 보이지만 아직 내 요구에 맞지 않습니다 (예 : 모델 간의 관계가 없으며 원래 소스를 해킹하지 않고 socket.io를 구성 할 방법이 없음) –

+0

지금 시도해 볼 것입니다. (https://github.com/flatiron/director#api-documentation)을 사용하여 라우팅 테이블을 작성하고, 응답 메소드를 추상화하여 http 또는 websocket 요청으로 JSON을 처리하고, .dispatch()를 호출하여 my 노선. 나는 이것이 어떻게 진행되는지 말해 줄 것이고 나는 그것을위한 github 요지를 또한 만들 것이다. –

+0

귀하의 필요에 맞는 것도 미안합니다. 이것들은 오늘날 가장 좋은 두 가지 옵션입니다. 자신을 라우팅하는 것은 너무 복잡하지는 않습니다. 실제로 구현할 방법을 알려주지는 않을 것입니다. 실제로 다리미는 체크 아웃 할 가치가 있습니다. 개인적인 경험이 없으면 재미있을 것입니다. –