2010-09-14 17 views
5

Zastanawiam się, czy możliwe jest posiadanie usługi RESTful Web i dwukierunkowej komunikacji z klientami i serwerem.RESTful: komunikacja dwukierunkowa

W moim przypadku stan serwera może się zmienić, więc serwer powinien wysłać wiadomość do klientów, aby zaktualizować się. Być może jest to całkowicie sprzeczne z RESTful pomysłem.

Czy AJAX może mi pomóc w rozwiązaniu tego problemu?

Dzięki!

+0

Z tego co rozumiem o REST, tak, stan jest przeciwko REST –

Odpowiedz

4

Naprawdę nie jest możliwe w standardowym paradygmacie http, ale sprawdź, czy jest możliwe obejście tego problemu i czy istnieje polling.

+0

Dzięki za link do komety – myborobudur

0

Funkcjonalność, którą obserwujesz, jest traktowana zgodnie z koncepcją web sockets, ale nie są jeszcze popularne.

Aby Twoje rozwiązanie było REST, możesz zlecić użytkownikom ankietę. Możesz optymalizować na wiele sposobów, na przykład zaimplementować specjalną metodę, która pozwala klientom zapytać o zmiany ze znacznikiem czasu, a następnie klient śledzi, kiedy ostatnio sprawdzał.

+0

czy istnieje już przeglądarka obsługująca gniazda sieciowe? Widziałem, że JBoss Netty obsługuje to połączenie. – myborobudur

0

Powinieneś rzucić okiem na BOSH. BOSH jest podobny do Cometa, ale bardziej konkretny i wydaje mi się, że istnieją bardziej niezawodne implementacje.

Mimo to, będziesz mieć problemy z obsługą wielu użytkowników jednocześnie, jeśli chcesz korzystać ze standardowej usługi REST. Powinieneś pomyśleć o innej implementacji za pomocą niezablokowanego IO.
Prawdopodobnie istnieje więcej pytań na temat . Oczywiście jest teraz również , ale jeśli potrzebujesz obsługiwać stare przeglądarki, nie możesz na nich polegać.