myWebSocket
来自于:开发者立即使用
open bindEvent send close readyState
论坛示例
为帮助用户更好更快的使用模块,论坛维护了一个示例,示例中包含示例代码供您参考。
概述
WebSocket 本模块封装了 安卓与ios websocket原生SDK 基础功能
模块概述
- 发送消息
- 支持自定义心跳数据
- 新增断网重连、后台回前台重连 机制
模块接口
设置全局单例模式
<feature name="myWebSocket">
<param name="isGlobal" value="true" />
</feature>
open
打开连接
是否连接成功,请以事件监听(bindEvent) 状态为准
open(params,callback(ret, err))
params
url:
- 类型:字符串
- 描述:服务端地址
pingInterval:
- 类型:整型
- 描述:(可选项)心跳间隔,单位秒,设置大于0时起效果
- 默认值:0
- 取值范围:
- [1-120]
pingData:
- 类型:字符串
- 描述:(可选项)心跳数据,配合pingInterval 使用
- 默认值:ping
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true //打开成功
data: "打开成功" //
}
err:
- 类型:JSON 对象
- 内部字段:
{
status: false //打开失败;
data:"提示信息"
}
示例代码
var myWebSocket = api.require('myWebSocket');
myWebSocket.open({
url:'ws://host:port',
pingInterval:30,
pingData:'ping',
autoReconnect:true //开启自动重连
},function(ret, err) {
if (ret) {
alert("打开成功");
} else {
alert('打开失败');
}
});
bindEvent
事件监听
bindEvent(callback(ret,err))
当设置全局模式时,其他页面使用 bindEvent 可以多次绑定,不会覆盖; 当前页面bindEvent 只会生效最后一次
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
type:"" // opened 打开成功,连接上了服务器
// closed 连接已关闭
// receive 接收到了消息
// error 发生错误时
//
data: "" //字符串;
}
示例代码
var myWebSocket = api.require('myWebSocket');
myWebSocket.bindEvent( function(ret,err) {
var type = ret.type;
var str =ret.data;
switch (type){
case 'opened':
//登录...
console.log("连接成功");
break;
case 'receive':
var message = JSON.parse(str);
console.log("接收消息:",message);
break;
case 'error':
//do something ...
console.log("连接发生错误");
//打印关闭的log
console.log(str)
break;
case 'closed':
//do something ...
console.log("连接已断开");
//打印关闭的log
console.log(str)
break;
}
});
send
发送消息
send({params})
params
msg:
- 类型:字符串
- 描述:发送内容
返回值
- success 发送成功
- fail 发送失败
示例代码
var myWebSocket = api.require('myWebSocket');
var result = myWebSocket.send({msg:"hello"});
// result 值为 success 或 fail
close
关闭连接
close(callback(ret, err))
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true //布尔型;true||false
data:""
}
err:
- 类型:JSON 对象
- 内部字段:
{
status: false
data:""
}
readyState
获取状态值
readyState()
返回值
- 类型:整型
- 1 已连接 2 关闭中 3 已关闭 0 未连接
var readyState = myWebSocket.readyState()
switch (readyState) {
case 1:
break;
//...
}
可用性
iOS系统,Android系统