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

WebSocketDemo 3.0版本采用独立线程解决Android系统Service启动问题,提供更强大的连接控制。核心由WebSocketHandler管理,支持多连接,集成简单,具备心跳机制。本文介绍了新版本的改动、集成方式和使用步骤,适用于需要在Android应用中集成WebSocket的开发者。
摘要由CSDN通过智能技术生成

介绍

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)
  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值