Android uygulamama bir WebSocket bağlantısı ile arka planda çalışan (muhtemelen birkaç saat veya hatta günden fazla) ve düzenli olarak bir sunucuya bazı veriler gönderen bir Hizmet eklemek istiyorum .
Şimdi Java için bir sürü WebSocket kitaplığı var gibi görünüyor ve hangisini kullanmam gerektiğinden emin değilim:
TooTallNate / Java-WebSocket açıklaması GitHub'dan:% 100 Java ile yazılmış bir barebone WebSocket istemcisi ve sunucu uygulaması. http://java-websocket.org/ - Bu , googling "android websocket" uygulamasının ilk sonucuyla bağlantılı. Bununla birlikte, özellikle SSL bağlantıları hakkında oldukça az sayıda açık sorunu var ve şu anda aktif olarak korunuyor gibi görünmüyor.
koush / AndroidAsync GitHub'dan Açıklama: Android için zaman uyumsuz soket, http (istemci + sunucu), websocket ve socket.io kitaplığı. Konuya değil, nio'ya göre. - Yine pek çok açık sorun, ancak aktif yüz bakımı gibi görünüyor / üzerinde çalışılıyor.
Project Tyrus Web Sitesinden Açıklama: JSR 356: WebSocket için Java API - Referans Uygulama - Bu, Oracle tarafından yapılmıştır. Android'de çalışıp çalışmadığından emin değilim.
Web Sitesinden Jetty WebSocket İstemci API Bilgisi: Jetty ayrıca WebSocket sunucularıyla konuşmayı kolaylaştırmak için yazmak için bir Jetty WebSocket İstemci Kitaplığı sağlar. - Tekrar: Android'de çalışıp çalışmadığından emin değilim.
codebutler / android-websockets GitHub açıklaması: Android için minimum websockets (hybi13 / RFC) istemcisi - Bu, StackOverflow sorusu için kabul edilen cevap olan schwiz / android-websocket-example'da kullanılır" Nasıl yapılır? Android cihaz, uyandırma kilidi olmadan İnternet'e TCP bağlantısı tutuyor mu? ".
GitHub'dan Atmosfer / wasync Açıklaması: Geri dönüşlü WebSockets, Node.js, Android ve Java için istemci kitaplığını aktarır http://async-io.org
TakahikoKawasaki / nv-websocket-client GitHub'dan açıklama: Java'da yüksek kaliteli WebSocket istemci uygulaması.
square / okhttp GitHub'dan Açıklama: Android ve Java uygulamaları için bir HTTP + SPDY istemcisi. http://square.github.io/okhttp/ -
Bir sahiptir WebSocket'e modülü .Scorpiodawg tarafından belirtildiği gibi, OkHttp sürüm 3.5'ten beri yerleşik websocket desteğine sahiptir.firebase / TubeSock açıklaması GitHub'dan: Java'da uygulanan bir WebSocket istemci kitaplığı
Autobahn | Android ( GitHub ) Web Sitesinden Açıklama: Autobahn | Android, yerel mobil WebSocket / WAMP oluşturmak için WebSocket Protokolünü ve Web Uygulaması Mesajlaşma Protokolünü (WAMP) uygulayan Autobahn projesi tarafından oluşturulan Java / Android için açık kaynaklı bir ağ kitaplığıdır istemciler. - cloudurfin , bunun wss için desteği olmadığını belirtti .
Ek olarak, Android için yerel bir socket.io istemci kitaplığı vardır:
- nkzawa / socket.io-client.java GitHub'dan açıklama: Socket.IO v1.0 ve üstü ile uyumlu Java için tam özellikli Socket.IO İstemci Kitaplığı.
Socket.io Android istemcisini kullanmak benim için kullanışlı olurdu, çünkü yine de web ön ucu için nodejs / socket.io kullanmayı planlıyorum. Ancak yerli müşteri oldukça genç ve birkaç açık sorunu var. Ve buna ek olarak, anladığım kadarıyla, bir android uygulamasının socket.io istemci kitaplığını kullanmanın (socket.io 1.0 sunucusuyla uyumlu olmasının dışında) herhangi bir yararı yoktur, çünkü WebSocket desteği istemci tarafında sağlanabilir. .
Gereksinimlerim aşağıdaki gibidir:
- Android API 9 ve üstü ile uyumluluk
- SSL ile bağlanma imkanı
- Kalıcı bir uyandırma kilidi tutmak zorunda kalmadan bağlantıyı uzun süre koruyun
- Kullanılabilir bir nodejs websocket sunucu uygulamasıyla veya socket.io ile uyumluluk
Bu gereksinimler için hangisinin doğru kitaplık olduğuna dair herhangi bir öneriniz var mı?