TooTallNate/Java-WebSocket GitHub上的描述:一个完全用Java编写的基本WebSocket客户端和服务器实现。http://java-websocket.org/ -- 这个项目在我谷歌搜索“android websocket”的第一个结果中链接出现。然而,它有很多未解决的问题,特别是关于SSL连接的问题,并且目前似乎没有得到积极维护。
koush/AndroidAsync GitHub上的描述:为Android提供异步套接字、http(客户端+服务器)、websocket和socket.io库。基于nio,而不是线程。 -- 同样有许多未解决的问题,但似乎正在积极维护/开发。
Project Tyrus 网站上的描述:JSR 356: Java API for WebSocket - 参考实现 -- 这是由Oracle制作的。不确定它是否适用于Android。
Jetty WebSocket Client API 网站信息:Jetty还提供了Jetty WebSocket客户端库,以使与WebSocket服务器通信更加容易。 -- 再次强调:不确定它是否适用于Android。
codebutler/android-websockets GitHub上的描述:Android的最小Websockets(hybi13/RFC)客户端 -- 这个项目在schwiz/android-websocket-example中使用,这是StackOverflow问题“如何使Android设备保持与互联网的TCP连接而不需要唤醒锁定?”的被接受答案。
Atmosphere/wasync GitHub上的描述:Node.js、Android和Java的回退传输客户端库WebSockets http://async-io.org
TakahikoKawasaki/nv-websocket-client GitHub上的描述:Java中高质量的WebSocket客户端实现。
square/okhttp GitHub上的描述:用于Android和Java应用程序的HTTP+SPDY客户端。http://square.github.io/okhttp/ --
它有一个Websocket模块。正如scorpiodawg提到的那样,自3.5版本以来,OkHttp已经内置了websocket支持。firebase/TubeSock GitHub上的描述:Java实现的WebSocket客户端库
Autobahn|Android (GitHub) 网站上的描述:Autobahn|Android是由Autobahn项目创建的为Java/Android提供WebSocket协议和Web应用程序消息协议(WAMP)实现的开源网络库,用于创建本机移动WebSocket/WAMP客户端。-- cloudsurfin指出它不支持wss。
- nkzawa/socket.io-client.java 来自GitHub的描述:Java完整特性的Socket.IO客户端库,与Socket.IO v1.0及更高版本兼容。
我的要求如下:
- 与Android API 9及更高版本兼容
- 通过SSL进行连接的可能性
- 长时间保持连接而无需持久wakelock
- 与可用的nodejs websocket服务器实现或socket.io兼容