webnet

webnet1.0/2.0

webnet1.0

webnet1.0依赖的是定时器轮询,需要根据项目的请求方式进行修改,比如原生请求或者是axios。首次连接返回报文如下:

parent.WebNet.ONMESSAGE('D||0|123|P1000')

以|为分隔符,第三位是状态码,第四位是term(之后的请求需要拼接到url上) webnet1.0的API大部分与webnet2.0的API保持一致,方便替换升级。

API

属性

类型

说明

webnetUrl

string

webnet推送地址

title

string

webnet订阅title,用于订阅指定业务品种牌价

active

boolean

当前链接是否已经建立,首次建立连接成功时状态修改为true,触发onOpenEvent函数

stop

boolean

当前链接是否已经停止,重新启动调用reconnect函数

interval

number

定时器轮询请求时间间隔

term

string

根据请求返回自动填充

onLoginOK

function

onError

function

收到的数据中状态码不是成功时触发

managerAPI

object

操作webnet行为的集合

~.closeWebnet

function

主动关闭连接,触发onCloseEvent

~.reconnect

function

重新建立连接

事件(event)

子类需重新实现。

onOpenEvent:指定连接成功后的回调函数

onMessageEvent:指定当从服务器接受到信息时的回调函数,子类在这里实现对数据的处理

onErrorEvent:指定连接失败后的回调函数

onCloseEvent:指定连接关闭后的回调函数

其他

以下函数不会被子类重写:

connect: 建立连接 fetch: 轮询的主体函数,需要根据不同项目修改轮询的请求函数,目前使用的是axios 。

WebNetData: 接收数据的解析模板 ,无需改动。

ONMESSAGE: 对接收到的数据做初步解析,首次成功建立连接时触发onOpenEvent和onMessageEvent函数,之后只触发onMessageEvent函数

示例

webnet2.0

基于H5 websocket的封装

API

属性

类型

说明

webnetUrl

string

webnet推送地址

title

string

webnet订阅title,用于订阅指定业务品种牌价

exceptionClose

boolean

是否是异常关闭的标识,异常关闭则主动发起重新连接,存在主动关闭webnet连接的情况,异常关闭和主动关闭都会触发onclose, 默认为true,主动关闭时状态变更为false,连接成功时状态变更为true

needReconnet

boolean

异常关闭时是否需要重新连接,默认值:true

reconnetNum

number

异常关闭后尝试重新连接次数,默认值:3

reconnetInterval

number

异常关闭后尝试重新连接时间间隔,单位ms,默认为10000ms

managerAPI

object

操作websocket行为的集合

~.interval

用于managerAPI创建重新连接定时器的占位符

~.reconnect

function

重新连接函数

~.reconnectCancle

function

取消重新连接

~.reconnectError

function

单次尝试重新连接失败回调

~.reconnectFailed

function

重新连接次数为0时触发,重新连接失败

~.closeWebnet

function

关闭当前链接

~.send

function

向服务器发送数据

事件(event)

子类需重新实现。

onOpenEvent: 指定连接成功后的回调函数

onMessageEvent: 指定当从服务器接受到信息时的回调函数,子类在这里实现对数据的处理

onErrorEvent: 指定连接失败后的回调函数

onCloseEvent: 指定连接关闭后的回调函数

其他

以下函数不会被子类重写:

connect: 建立连接

setWebnetEvent: 设置websocket事件

getReadyState: 获取websocket当前的状态

status

说明

undefined

未连接

0

WebSocket.CONNECTING

1

WebSocket.OPEN

2

WebSocket.CLOSING

3

WebSocket.CLOSED

示例

Last updated

Was this helpful?