6

Tôi muốn tạo ra một cộng đồng sống ứng dụng chat sử dụng đường ray 3.Ruby on Rails 3 - Công live chat

Tôi tìm thấy một số ví dụ về đường ray 2. Bất kỳ ai có thể cho bạn biết một ví dụ tốt/hướng dẫn để phát triển một live ứng dụng trò chuyện sử dụng đường ray 3.

+0

Bạn có muốn con trỏ hoặc hướng dẫn không? –

Trả lời

3

Tôi muốn bắt đầu bằng cách kiểm tra số em-synchony + examples của Ilya Grigorik và xem mã cho đá quý máy chủ trò chuyện riêng của Hector.

7

Tôi gặp phải một số rào chắn khi cố gắng triển khai hệ thống trò chuyện công khai và riêng tư trong ứng dụng đường ray 3 của mình. Tôi đã xem faye, juggernaut, node.js và hơn thế nữa. Cuối cùng sau khi thử một vài cách tiếp cận, tôi đã có thể triển khai một hệ thống hoạt động tốt:

1) Tôi bắt đầu bằng cách làm theo hướng dẫn video để nhắn tin faye trong Railscast 260 như đã đề cập bởi Devin M. Tôi có thể nhanh chóng thiết lập ứng dụng đường ray tin nhắn được lưu giữ và máy chủ trò chuyện đã đẩy các thư mới này ra cho tất cả khách hàng. Vấn đề lớn nhất là an ninh. Tôi không có quyền kiểm soát quyền truy cập vào máy chủ trò chuyện.

2) Điều này dẫn tôi đến việc sử dụng đá quý pub riêng bởi Ryan Bates trong Railscast 316 - giúp bảo mật máy chủ faye của bạn bằng cách xác minh chữ ký của khách hàng. Điều này làm việc để bảo vệ máy chủ nhưng tôi gặp phải sự cố khi cố gắng xác minh người dùng thực sự bằng hệ thống xác thực của tôi và thêm chức năng 'người trực tuyến'. Tôi đã làm việc trên một hack của quán rượu tư nhân để vượt qua trong các chi tiết người dùng khi xác thực nhưng không thể có được những thứ để làm việc thuận lợi.

3) Cuối cùng, tôi quyết định di chuyển máy chủ trò chuyện sang pusher - API được lưu trữ cho các ứng dụng thời gian thực. Tôi đã làm theo hướng dẫn này trên how to create a real-time survey in rails để có được cảm giác về cách thiết lập mọi thứ. Mặc dù không trực tiếp thiết lập hệ thống trò chuyện - hướng dẫn này cùng với những gì tôi đã thiết lập từ Railscast ở trên (và tài liệu pusher dễ đọc), cho phép tôi nhanh chóng thiết lập một ứng dụng trò chuyện an toàn trên đường ray - hoàn chỉnh với xác thực , 'ai đang trực tuyến', thông điệp trạng thái và hơn thế nữa. Phần tốt nhất là ... Tôi không phải đối phó với việc quản lý máy chủ trò chuyện.

Hy vọng điều này sẽ giúp ai đó trải qua quá trình tương tự như tôi.

+0

Đây là một bài đăng vô cùng hữu ích - cảm ơn bạn. – daspianist

+0

Pusher cũng có thể lưu (Lưu trữ) các tin nhắn đã gửi, để tôi có thể truy xuất các tin nhắn trước đó khi người dùng đăng nhập vào một thiết bị mới. Ví dụ: tôi có thể truy vấn và truy xuất thư của hai ngày qua, 1 tuần hoặc một tháng cho một người dùng hoặc nhóm cụ thể. –

+1

@MuhammadNabeelArif - Tôi không tin các ưu đãi API hiện tại của họ có tính năng (nhưng tôi có thể bị nhầm lẫn). Để đạt được kết quả tương tự, tôi chỉ lưu các tin nhắn trong db và sau đó xóa các tin nhắn cũ hơn sau 2 ngày. – yellowaj