Rails 3에서 프로젝트를 시작했고 Facebook과 같은 알림을 추가해야합니다. 가장 좋은 방법은 iPad와 같은 지원 장치에 WebSocket을 사용하는 것이지만 Rails에서 쉽게 구현할 수있는 좋은 도구를 찾을 수 없습니다. Pusherapp을 찾았지만 가격이 압도적이며 제 데이터를 제 3 자 회사에 제공하는 것이 현명하지 않다고 생각합니다. 그래서 필요한 것 :
- 오픈 소스
- 어떤 종류의 채널 지원
- Rails 용 도우미 (및 Rails 3 작업)
답변
일반 WebSocket 구현을 검색하는 경우 EM-WebSocket 이 가장 좋습니다. 플래시가 아닌 폴백 (예 : 오래된 휴대폰 또는 iPhone 3G)을 지원하려면 Socket.IO-rack을 시도해야합니다 .
Pusher (인증 및 채널 포함)와 같은 모든 기능을 갖춘 구현의 경우 Socky 및 Juggernaut의 두 가지 오픈 소스를 선택할 수 있습니다 .
Socky는 EM-WebSocket (푸셔와 같은)을 사용하는 순수한 루비 프로젝트이며 Rails를위한 멋진 도구가 있습니다. 반면에 Juggernaut는 더 많은 역사 (그리고 더 많은 사용자 atm.)를 가지고 있지만 새 버전은 Node.JS (클라이언트는 여전히 루비 기반 임)로 다시 작성되었으며 Redis가 필요합니다. 둘 다 잘 작동합니다.
답변
답변
EM-WebSocket 은 아마도 최고의 Ruby 구현 일 것입니다. 실제로 Pusherapp이 그 위에 구축되었습니다. EventMachine 과 통합됩니다 .
사용 방법에 대한 자습서 가 있습니다.
답변
요구 사항을 충족 할 수 있지만 약간 더 난해한 또 다른 옵션은 Jruby 앱 서버 중 하나를 사용하고 Java 웹 소켓 구현 중 하나를 사용하는 것입니다. Jetty ( 트리니다드 의 기지 )는 최고의 웹 소켓 지원을 제공하는 것으로 알려져 있습니다. 또 다른 옵션 (매우 멋지다)은 메시지 엔드 포인트에 웹 소켓 래퍼가있는 메시징 서버를 사용하는 것입니다. 예를 들어 Torquebox (전용 Jruby / Rails 앱 서버)에는 HornetMQ에 대한 지원이 내장되어 있으며, 이는 차례로 websocket 을 지원합니다 .