WebSocketDemo 安卓客户端实现及代码封装,3.0 版本发布

介绍

WebSocket 3.0 版本经过这段时间的开发终于完成并且通过测试,相比较于 2.0 版本有了很大的改动,程序的健壮性与扩展性有了很大的提高。

实际上,以前的版本很大程度上都是为了应付公司业务而做的,顺手开源出来,但我发现随着使用者越来越多,问题也逐渐凸显出来,再加上经过前段时间的学习技术上有了长足的进步,就想着把这个给重构一遍。

其实做这个技术上并没有什么技术上的难点,但是要做开源,要给别人用,就会有很大的挑战。不仅要考虑到程序的健壮性,还要考虑如何用最简单的方式,给用户提供更多的功能,并且兼顾到可扩展性。

我之前花了很长时间研究过设计模式相关的东西,也读了一些框架的源码,所以我的技术也一直更偏向于架构设计方向,这个框架中也用到了很多设计模式相关知识点。

3.0 版本的开发时间也不过一个月左右,但实际上我在开发之前就花了很久考虑如何设计架构,因为核心实现方式变了,所以几乎一切都是从零开始。最终选定了现在的方案,也是现阶段我能想到的最佳方案。

3.0 版本的改动

最主要的变动是核心实现方式从 Service 变更为独立线程,解决了新版本 Android 系统启动 Service 的问题以及可以准确控制连接的启动与断开。

所以因为核心方式变了也就没有 BaseWebSocketActivity 以及相关概念,所有对 WebSocket 相关的操作都是通过 WebSocketHandler 来实现的。

现在 WebSocketHandler 是个很重要的概念,我们无论是 WebSocket 的初始化、创建连接、断开连接、数据收发等等都要使用它来实现,其中具体的方法列表点此查看文档。

如果您还在使用 2.0 版本,那么请点击这里查看 2.0 版本。

如何集成

这一点与以前一样,也有两种使用方式。

Gradle 方式集成

在对应 model 的 build.gradle 中添加依赖:

implementation 'com.github.0xZhangKe:WebSocketDemo:3.0.1'

然后 sync 一下,如果出现类似的错误:

Failed to resolve: com.github.0xZhangKe:WebSocketDemo:3.0.1

那意味着你还没添加 Github 的仓库,到项目根目录中的 build.gradle 中添加如下代码:

maven { url = 'https://jitpack.io' }

第二种集成方式

这个就很简单了,直接把 websocketlib 中的代码拷贝到自己的项目中就行,具体怎么做就看你的个人喜好。

开始使用

此时你已经把框架集成到项目中了,再经过简单的几步配置即可使用。

基本配置

首先,最基本的,我们要配置 WebSocket 连接地址,要说明的是,关于 WebSocket 的相关配置都在 WebSocketSetting 中。
我们通过如下的代码设置连接地址:

WebSocketSetting setting = new WebSocketSetting();
//连接地址,必填,例如 wss://localhost:8080
setting.setConnectUrl("your connect url");

除了连接地址之外,WebSocketSetting 中还提供了很多相关配置,我挑几个重要的说一下。

//设置连接超时时间
setting.setConnectTimeout(10 * 1000);

//设置心跳间隔时间
setting.setConnectionLostTimeout(60);

<

你可能感兴趣的:(android开发,Android,Java,WebSocket,开源)