사실 저는이 라이브러리에서 메인테이너와 조금씩 작업했습니다. 나는 당신이 클라이언트 파트를 서버 하나와 혼합했다고 생각한다. em-eventsource는 ServerSentEvent API를 사용하는 데 사용할 수있는 클라이언트 라이브러리입니다. SSE를 실행하기위한 것이 아닙니다.
서버 측에서는 실행중인 서버가 스트리밍을 지원하는 한 레일즈 또는 다른 스택 (nodejs, php ...)을 사용하는지 여부는 중요하지 않습니다. Rails와 함께 제공되는 기본 웹 서버는 (Webrick은 아니지만) Thin, Puma, Goliath 등 많은 다른 기능이 있습니다.
레일에서 SSE를 실행하려면 다음 중 스트리밍 가능한 서버 언급 된 사람들은 SSE 사양을 준수합니다. 주로 클라이언트 (브라우저)가 응답해야한다는 것을 알 수 있도록 올바른 Content-type 헤더 ("text/event-stream")로 응답 한 다음 소켓에서 스트리밍을 시작합니다. 그 후반 부분은 Rails 3에서 오늘날까지는 불가능했던 것입니다 (그러나 불가능하지는 않습니다!). Rails 4는 이제 깨끗하고 간단한 내부 API를 사용하여 쉽게 스트리밍을 지원하므로 확실히 제공됩니다. 그 동안
, 당신은 좋겠 중 하나 레일에서 랙의 API와
- 엉망
- 하거나 영리하고 사용할 수 있도록이 (내 생각 EventMachine를 사용하여 야생에서 몇 가지 예제가 있습니다) 랙의 상단에 내장시나에서 제공하는 스트리밍 기능의
- 를 (! 레일즈 하나에 장착 할 수시나 응용 프로그램의 예는 https://gist.github.com/1476463 참조) 또는 당신은 푸셔
- 또는 활용 등의 외부 서비스를 사용할 수 있습니다 완전히 다른 스택 ...
좋은 개요 : http://blog.phusion.nl/2012/08/03/why-rails-4-live-streaming-is-a-big-deal/
나는 생각하지 않는다, 이것은 큰 문제가 될 것이다. 서버가 보낸 이벤트는 비동기 적으로 작동하기 때문에 thin 기반의 rails-app-server가 있습니다. 이는 이벤트 기반 비동기 처리를 명시 적으로 지원합니다. 그래서 긴 폴링이 아닙니다. 하지만 지금은 단 하나의 연결로 작동하지도 않습니다 ... –