myWebSocket

open send readyState

论坛示例

为帮助用户更好更快的使用模块,论坛维护了一个,示例中包含示例代码供您参考。

概述

WebSocket 本模块封装了 安卓与ios websocket原生SDK 基础功能

widget 测试包

模块概述

  • 发送消息
  • 支持自定义心跳数据
  • 新增断网重连、后台回前台重连 机制

设置全局单例模式

open

打开连接
是否连接成功,请以事件监听(bindEvent) 状态为准

open(params,callback(ret, err))

params

url:

  • 类型:字符串
  • 描述:服务端地址
  • 类型:整型
  • 描述:(可选项)心跳间隔,单位秒,设置大于0时起效果
  • 默认值:0
  • 取值范围:
    • [1-120]

pingData:

  • 类型:字符串
  • 描述:(可选项)心跳数据,配合pingInterval 使用
  • 默认值:ping

callback(ret, err)

ret:

  • 类型:JSON 对象
  1. status: true //打开成功
  2. data: "打开成功" //
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: false //打开失败;
  3. data:"提示信息"
  4. }

bindEvent

事件监听

bindEvent(callback(ret,err))

当设置全局模式时,其他页面使用 bindEvent 可以多次绑定,不会覆盖; 当前页面bindEvent 只会生效最后一次

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. type:"" // opened 打开成功,连接上了服务器
  3. // closed 连接已关闭
  4. // receive 接收到了消息
  5. // error 发生错误时
  6. //
  7. data: "" //字符串;
  8. }

示例代码

  1. myWebSocket.bindEvent( function(ret,err) {
  2. var type = ret.type;
  3. var str =ret.data;
  4. switch (type){
  5. case 'opened':
  6. //登录...
  7. console.log("连接成功");
  8. break;
  9. case 'receive':
  10. var message = JSON.parse(str);
  11. break;
  12. case 'error':
  13. //do something ...
  14. console.log("连接发生错误");
  15. console.log(str)
  16. break;
  17. case 'closed':
  18. //do something ...
  19. console.log("连接已断开");
  20. //打印关闭的log
  21. console.log(str)
  22. break;
  23. }
  24. });

send

发送消息

msg:

  • 类型:字符串
  • 描述:发送内容

返回值

  • success 发送成功
  • fail 发送失败

示例代码

close

关闭连接

close(callback(ret, err))

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true //布尔型;true||false
  3. data:""
  4. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: false
  3. }

readyState

获取状态值

readyState()

返回值

  • 类型:整型
  • 1 已连接 2 关闭中 3 已关闭 0 未连接

可用性