概述
GT-Streaming
最初提供的是HTTP API
接口。为了接收服务端的通知,使用HTTP API
接口的客户端还需另外再通过 STOMP (文本WebSocket) 协议订阅需要的消息。
当HTTP API
接口获得的令牌超时后,客户端必须重新用新的令牌去建立 WebSocket 链接。一旦令牌不一致,会出现收不到通知的问题,增加了客户端的令牌和
WebSocket连接管理代码的复杂度。
为了避免这种情况,从版本 4.0 开始,GT-Streaming
引入新的 WebSocket API,这套 API 在语义上,与 HTTP API
基本一致,但底层的通讯协议是建立在 (二进制) Websocket 的基础上的,而不是基本的 HTTP。通过一个 WebSocket 连接,客户端可以调用 API并获得响应,
同时也从这个连接上获得通知。
strm-js
库
同时,从版本 4.0 开始,GT-Streaming
提供Javascript/TypeScript客户端库(strm-js
,已经发布到 npm库),这个客户端库定义了接口中用到的:
- 常量
- 数据类型
- 基本的播放器封装
- 用于操作
WebSocket API
接口的类 - 用于操作
HTTP API
接口的类
其中,用于操作 WebSocket API
的类(StrmWsApi
),集成了自动重连、心跳、流请求保持这些基本处理,一定程度地简化了客户端的开发,推荐新应用使用。
安装
npm install -S `strm-js`
主要的类
- StrmWsApi
- StrmHttpApi
- ApiReply<T>