2012-07-03 29 views
6

Studiowałem tonę na AJAXie, ponieważ robię aplikację w czasie rzeczywistym z JavaScript i PHP. Musi być w stanie aktualizować bez odświeżania strony w czasie rzeczywistym.AJAX/Reverse AJAX: Polling or Push?

Próbowałem odpytywać serwer za pomocą setInterval(), ale żeby było szybkie, musiałem go mieć co sekundę. Wydaje się jednak, że zużywa masę przepustowości. To działa jednak i mam plan z dostawcą hostingu dla "nieograniczonej przepustowości". Wydaje się, że na stronie jest dużo stresu, więc chciałem skorzystać z technologii Push.

Nauka konfiguracji Push była niezwykle trudna. Z tego, co udało mi się wymyślić, musisz obsługiwać pewien typ serwera Push lub serwera komet. Zajrzałem także do stron internetowych, ale tam też trzeba było go hostować samodzielnie. Nie rozumiem, jak to zrobić, gdy nie posiadam komputera serwera i nie ma na ten temat dokumentacji na stronie mojego dostawcy hostingu.

Czy konkretni dostawcy usług hostingowych obsługują serwer pocztowy? Czy istnieje sposób na zdobycie serwera bez konieczności hostowania go? Wydaje się, że jest o wiele lepszym wyborem niż sondowanie, ale jednocześnie wydaje się to bardzo mylące.

Odpowiedz

4

Czy konkretni dostawcy usług hostingowych obsługują serwer wypychania dla Ciebie? Czy istnieje sposób na zdobycie serwera bez konieczności hostowania go? Wydaje się, że jest o wiele lepszym wyborem niż sondowanie, ale jednocześnie wydaje się to bardzo mylące.

Tak, pracuję dla Pusher, którzy oferują taką usługę. Możesz zobaczyć przewodnik szybkiego uruchamiania here. Są też inne realtime hosted services, które możesz przeczytać.

Chciałbym również polecam rzucić okiem na:

moja opinia, wyrażona w pierwszym link, jest to, że PHP nie jest dobrą technologią dla aplikacji internetowych w czasie rzeczywistym. Najlepiej mieć różne komponenty, których używasz jako infrastrukturę sieciową w czasie rzeczywistym. To powinno być coś samodzielnie zainstalowanego lub hostowane rozwiązanie, takie jak Pusher, dla którego pracuję. Czemu? PHP + Apache nie został zbudowany z myślą o utrzymywaniu długo działających połączeń. Istnieją samodzielne rozwiązania WebSocket w PHP, na które można patrzeć, ale w 80% prawdopodobnie używasz Apache i 20% nginx, które nie obsługują jeszcze WebSockets (ale wkrótce). Nawet wtedy nie jestem pewien, w jaki sposób będą one zintegrowane ze standardowym przepływem aplikacji żądania/odpowiedzi PHP.