Jako część aplikacji na Androida, którą rozwijam, dostępna jest funkcja pokoju rozmów. Mamy serwer, który może przetwarzać przychodzące wiadomości i przechowywać wiadomości. Czy lepiej jest pozostawić otwarte połączenie między telefonem a serwerem, aby serwer mógł wysyłać nowe wiadomości do telefonu, czy też lepiej, aby telefon sondował serwer pod kątem nowych wiadomości czatu?Android - Sockets vs Polling
Odpowiedz
Pobieranie nie ma połączenia w czasie rzeczywistym, a trwałe połączenie to wyczerpanie baterii. Myślę, że to, czego szukasz, to połączenie "pchającego" i trwałego połączenia. Budzisz telefon przez naciśnięcie, a następnie nawiążesz połączenie przez gniazda do obsługi czatu.
Proponuję przeczytać artykuł o numerze this. Nie jestem pewien, czy wspomina o c2dm, usłudze Google Push.
To złe rozwiązanie w przypadku sondowania aplikacji, które losowo publikują dane. Chcę powiedzieć, że dane do głosowania są przydatne, gdy coś dzieje się dyskretnie, co każde 5 minut lub coś podobnego. To nie jest przypadek z czatu, niektóre użytkownik może opublikować te coś w godzinę, niektóre mogą zakładać 30 razy w 2 minuty
tak zachować swoje gniazda otwarte
chciałbym zachować gniazdo otwarte, jeśli są zaniepokojeni wiadomości błyskawicznych, konfiguracja połączenia przez gniazdo wymaga czasu, zwłaszcza jeśli korzystasz z połączenia GSM. Widziałem, że potrzeba 10 sekund lub więcej, aby otworzyć gniazdo na 3G, a tym bardziej na WiFi.
- 1. Long-polling vs Apple Push Notification Service i Android C2DM
- 2. Synchronizuj vs. Async Sockets Performance w .NET
- 3. Real-Time z Node.js: WebSocket + Polling po stronie serwera vs. Polling po stronie klienta
- 4. C# Asynchronous Sockets questions
- 5. Polling, Comet, WebSockets, itp.
- 6. Długie polling w Yesod
- 7. Silverlight Polling Duplex z HTTPS
- 8. Long Polling z Spring DeferredResult
- 9. Implementacja serwera Web Sockets dla NodeJS
- 10. Jak Ping Korzystanie Sockets Library - C
- 11. Dlaczego Web Sockets nie używają SOAP?
- 12. Jak działa interfejs HTML5 Web Sockets Interface?
- 13. Android, slidingpanelayout vs navigationDrawer
- 14. Android: PhoneGap vs Webview
- 15. android - LocationManager vs FusedLocation
- 16. Cocos vs AndEngine android
- 17. Android: Theme.Holo.Light.NoActionBar vs Theme.Light.NoTitleBar
- 18. Android Looper vs BlockingQueue?
- 19. Kometa, długi polling z samouczkiem jquery
- 20. Long Polling w Pythonie z kolbą
- 21. Long Polling z PHP na Apache
- 22. Django, Ajax long polling, Postgresql: bezczynna transakcja
- 23. AJAX/Reverse AJAX: Polling or Push?
- 24. "@android: drawable/ic_" vs "@ * android: drawable/ic_"
- 25. Android XML: android: elewacja vs. aplikacja: elewacja
- 26. android Drawable - getConstantState.newDrawable() vs mutate()
- 27. Android softkeyboard showSoftInput vs toggleSoftInput
- 28. Android - ImageView: setImageBitmap VS setImageDrawable
- 29. Android - różnice ORMlite vs. ActiveAndroid?
- 30. Robolectric vs Android Test Framework
Czy możesz zakwalifikować swoje oświadczenie "Trwałe połączenie to wyczerpanie baterii"? – AgileYogi
"Trwałe połączenie to wyczerpanie baterii", ponieważ utrzymanie otwartego połączenia oznacza, że będziesz potrzebował stałego zużycia zasobów. – kuchi