更新记录
1.0.0(2021-01-04)
- 连接服务器端
- 停止连接服务器端
- 给服务器端发送消息
- 获取连接服务器端的状态
- globalEvent事件监听服务端的消息及连接情况
平台兼容性
Android | Android CPU类型 | iOS |
---|---|---|
适用版本区间:4.4 - 11.0 | armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 | × |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
- 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
- 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
- 开发完毕后正式云打包
付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios
注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择
概述
简介
连接WebSocket服务器端,接收、发送消息,获取连接状态,重连时间、次数、心跳设置。
功能服务
- 连接服务器端:startConnect
- 停止连接服务器端:stopConnect
- 给服务器端发送消息:sendMessage
- 获取连接服务器端的状态:getSyncConnectStatus
- globalEvent事件监听服务端的消息及连接情况:serverMsg
模块方法详细
startConnect
开始连接服务器端,若连接失败达到最大连接次数,即停止连接。
startConnect({params})
params
wsUrl:
- 类型:字符串
- 描述:(必填项)WebSocket服务器端地址。
isWSS:
- 类型:布尔
- 描述:(必填项)是否是WSS。
- 取值范围:
- true(是)
- false(否)
reconnectTime:
- 类型:数值
- 描述:(可选项)当连接服务器端失败时,重新连接的时间间隔,默认每隔10秒连接一次。
- 默认值:10
reconnectCount:
- 类型:数值
- 描述:(可选项)当连接服务器端失败时,重新连接最大次数,若连接失败达到最大连接次数,即停止连接,默认重连10次后停止连接。
- 默认值:10
heartbeatTime:
- 类型:数值
- 描述:(可选项)心跳检测间隔时间。
- 默认值:10
param:
- 类型:JSON
- 描述:(可选项)给WebSocket服务器端传递的参数,与服务端开发人员协商具体参数。
- 默认值:无
headers:
- 类型:JSON
- 描述:(可选项)给WebSocket服务器端传递的请求头,与服务端开发人员协商具体参数。
- 默认值:无
示例代码
var socketObj = uni.requireNativePlugin("wangqi-WebSocketConnect_Socket")
var param = {
wsUrl: '192.168.0.118:8000/my_SXD_Socket',
isWSS: false,
param: {username: 'tom', password: '123'},
reconnectTime: 10,
reconnectCount: 10,
heartbeatTime: 10
}
socketObj.startConnect(param)
stopConnect
停止连接服务器端(心跳检测一起停止)。
stopConnect()
示例代码
socketObj.stopConnect()
sendMessage
发送消息给服务端,发送消息失败会重新连接服务端 (如果是主动关闭连接,则不会重新连接) 。
sendMessage({params}, callback(ret))
params
参数具体内容与服务端开发人员协商即可。
callback(ret)
ret:
- 类型:JSON 对象
- 描述:status字段值为true时消息发送成功,否则发送失败
- 内部字段:
{
status: true //布尔型;true||false
}
示例代码
var object = {
to: 'jerry',
msg: 'message',
type: 2
};
socketObj.sendMessage(object, (ret) => {
if(ret.status){
}
})
getSyncConnectStatus
获取当前连接状态。
getSyncConnectStatus()
返回值
- 类型:JSON
- 描述:status字段值为true时已经连接,否则未连接。
- 内部字段:
{
status: true //布尔型;true||false
}
示例代码
var ret = socketObj.getSyncConnectStatus()
if(ret.status){
}
serverMsg
监听服务端返回的消息,以及连接的状态
回调返回的参数
内部字段
{
status: 0,
msg: '',
data: ''
}
status:
- 类型:数值
- 描述:状态
- 取值范围:
- 0: 服务器连接已关闭
- 1: 接收到服务器的消息
- 2: 服务器关闭连接中
- 5: 服务器连接失败或主动关闭连接
- 6: 服务器连接成功
- 7: 请您检查网络
- 8: 服务器连接失败,非正常关闭连接
- 9: 服务器重连接中
- 10:服务器已经连接
- 11:停止连接服务器
msg:
- 类型:字符串
- 描述:与status属性对应的文字描述
data:
- 类型:字符串
- 描述:服务器发送过来的消息,当status属性的值为1的时候,该字段才存在。
示例代码
plus.globalEvent.addEventListener('serverMsg', function(e){
if(e.status == 6){
}else if(e.status == 1){
}
});