didi/Hummer

WebSocket 组件对齐前端 WebSocket API

bbssyyuui opened this issue · 3 comments

功能请求

  • 我想要完成此功能

您的功能请求是否与一个问题有关?

视图调试需要自动化插入 WebSocket 连接

描述您希望的解决方案
支持 WebSocket 标准接口

描述您考虑过的备选方案.

文档、适配、迁移策略

参考 MDN WebSocket 文档 https://developer.mozilla.org/zh-CN/docs/Web/API/WebSocket

方法:

  • WebSocket(url: string)
  • send(data: string)
  • close()

事件:

  • onopen {}
  • onmessage 参数 {data?: string}
  • onclose {code?: number, reason?: string}
  • onerror {}

内存管理:

  1. WebSocket 对象被回收不代表连接被中断,想要中断连接必须显式 close
  2. JS 虚拟机关闭会关闭所有相关的连接

iOS 先使用 SocketRocket 0.6.0 版本,未来应当兼容系统 WebSocket,同时需要注意内存问题

建议使用 N-API 直接注入

Android 已完成