6

Chcę utworzyć aplikację publiczny czat za pomocą szyny 3.Ruby on Rails 3 - Publiczny czat

znalazłem jakiś przykład na szynach 2. Każdy może powiedzieć dobry przykład/samouczek rozwijać na żywo aplikacja do czatowania za pomocą szyn 3.

+0

Chcesz wskaźniki lub samouczek? –

Odpowiedz

7

Napotkałem kilka blokad dróg, gdy próbowałem wdrożyć publiczny i prywatny system czatowania w mojej aplikacji rails 3. Spojrzałem na faye, juggernaut, node.js i więcej. Ostatecznie po wypróbowaniu kilku podejść udało mi się zaimplementować system, który działa świetnie:

1) Zacząłem od śledzenia przewodnika wideo do wysyłania wiadomości faye w Railscast 260 jak wspomniał Devin M. Udało mi się szybko skonfigurować aplikację szyn, która trwałe wiadomości i serwer czatu, który wypychał nowe wiadomości do wszystkich klientów. Największym problemem było bezpieczeństwo. Nie miałem kontroli nad dostępem do serwera czatu.

2) To doprowadziło mnie do korzystania z prywatnego klejnotu pubu Ryana Batesa w Railscast 316 - który pomaga zabezpieczyć twój serwer faye poprzez sprawdzenie podpisu klienta. To działało na zabezpieczenie serwera, ale napotkałem problemy próbujące zweryfikować faktycznego użytkownika za pomocą mojego systemu uwierzytelniania i dodając funkcję "kto jest online". Pracowałem nad włamaniem do prywatnego pubu, aby przekazać dane użytkownika podczas uwierzytelniania, ale nie mogłem sprawnie działać.

3) W końcu zdecydowałem się przenieść serwer czatu na pusher - hostowany interfejs API dla aplikacji czasu rzeczywistego. Postępowałem zgodnie z tym samouczkiem na temat how to create a real-time survey in rails, aby poznać zasady konfiguracji. Chociaż nie jest to bezpośrednio kwestia konfiguracji systemu czatu - ten samouczek wraz z tym, co już przygotowałem z powyższych Railscastów (i łatwych do odczytania dokumentów dociskowych), pozwolił mi szybko skonfigurować bezpieczną aplikację do czatowania rails 3 - wraz z uwierzytelnianiem , "kto jest online", komunikaty o stanie i inne. Najlepsze jest to, że ... Nie mam do czynienia z zarządzaniem serwerem czatu.

Mam nadzieję, że pomoże to komuś przejść przez ten sam proces co ja.

+0

To był niezwykle pomocny wpis - dziękuję. – daspianist

+0

Czy popychacz również zapisuje (archiwizuje) wysłane wiadomości, dzięki czemu mogę odzyskać poprzednie wiadomości, gdy użytkownik loguje się na nowym urządzeniu. Na przykład mogę wyszukiwać i pobierać wiadomości z ostatnich dwóch dni, tygodnia lub miesiąca dla określonego użytkownika lub grupy. –

+1

@MuhammadNabeelArif - Nie wierzę, że ich obecne API oferuje tę funkcję (ale mogę się mylić). Aby osiągnąć te same wyniki, właśnie zapisałem wiadomości w bazie danych, a następnie usunąłem starsze wiadomości po 2 dniach. – yellowaj