2011-11-10 1 views
1

간단한 채팅 응용 프로그램을 쓰고 있습니다. 유일한 "프론트 엔드"는 단일 HTML 파일, 자바 스크립트 파일 및 몇 가지 스타일 시트입니다. 대부분의 응용 프로그램은 서버 측 EventMachine WebSocket 서버입니다.Ruby : 동일한 애플리케이션에서 정적 HTML과 EventMachine WebSocket 서버를 제공하는 방법은 무엇입니까?

나는 또한 이것을 Heroku에서 호스트하려고합니다.

현재 정적 파일을 제공하는 sinatra 앱과 (다른 포트에있는) WebSocket 서버를 제공하는 별도의 앱이 있습니다.

포트 80 (정적 파일 용)과 WebSocket 서버용 포트에 응답/응답하는 응용 프로그램을 시작할 수있는 방법이 있습니까?

답변

1

WebSocket 서버를 다른 포트에서 실행하는 것은 좋지 않습니다. 대부분의 네트워크에서 해당 포트가 차단되지 않았기 때문에 WebSocket은 포트 80에서 실행됩니다. 다른 포트를 사용하면 일부 방화벽 뒤의 사용자가 응용 프로그램을 사용할 수 없습니다.

웹 서버와 별도로 이벤트 서버를 실행하는 것이 가장 좋은 방법 일 것입니다.

+0

ok, 두 스크립트 모두를 포트 80에서 실행하는 방법은 있습니까? 또는 프론트 엔드가 루트 도메인에서 제공되고 ws server가 domain.com/ws-server에서 제공됩니까? – Andrew

+0

어떻게 Heroku에서 작동하는지 모르겠지만 특정 디렉토리 및/또는 3 단계 도메인에 대한 요청을 다른 응용 프로그램에 보내는 라우팅 규칙을 설정할 수 있어야합니다. 예를 들어 아파치를 사용하여 항상이 작업을 수행합니다. – Joshua

0

좀 더 실험적으로하려는 경우 Goliath은 master 분기에서 WebSocket을 지원하고 필요한 리소스를 제공 할 수도 있습니다. examples 디렉토리를 보면 HTML 페이지를 제공하는 WebSocket 서버가 있습니다.

관련 문제