ZeroMQ
Push
Push 接口以「jc.zmqpush」作为对象访问前缀。Push 通信流程包含以下步骤:
- 通过
startAsync创建Push连接「PushConnection」。 - 操作连接实例,通过发送(
sendAsync)接口发送数据。
操作接口
Push 的操作接口由入口函数 startAsync 和不同层级(连接/数据包)的工具类接口共同组成。
startAsync()
入口函数。启动1个Push连接,返回 PushConnection 实例。
- 函数签名
ts
function startAsync (
address?: string, type?: AddressType
): Promise<PushConnection>;- 输入参数
- address(可选) 格式为
[协议名://][地址:][端口]的地址信息,默认值为:tcp://localhost:3000。 - type(可选) Endpoint类型,
bind为本地绑定,connect为远程连接。默认值为'bind'。
- address(可选) 格式为
- 返回值
PushConnection实例对象。
PushConnection
Push连接实例的操作接口如下:
sendAsync()
向Pull接口发送数据。
函数签名
tssendAsync (type: string, data: any): Promise<PushPacket>;输入参数
- type 数据类型。
- data 数据内容。
协议支持的数据类型如下:
type data类型 'text'string'hex'string'raw'Buffer返回值 Promise对象,发送完成后返回所发送的
PushPacket对象。
sendWithAsync()
将其他页面中定义的已有数据内容向Pull接口发送。
函数签名
tssendWithAsync (pageName: string, contentName: string): Promise<PushPacket>;输入参数
- pageName 页面名称,仅限在「接口」和「模板」页面中查找。
- contentName 内容名称
返回值 Promise对象,发送完成后返回所发送的
PushPacket对象。
onPacketOut()
当「发送」数据包时触发回调。
函数签名
tsonPacketOut ( handler: (packet: PushPacket) => void, once?: boolean ): CancelFunc;输入参数
- handler 新数据包的处理函数。触发时将会回调本函数,并传入新的
PushPacket实例。 - once(可选),默认值为
false。是否注册为一次性的回调函数,若传入true则触发了1次回调后会自动取消注册。
- handler 新数据包的处理函数。触发时将会回调本函数,并传入新的
返回值 取消函数,调用此函数可以解除本次注册。
只读接口
PushConnection
records()
获取连接的打开记录列表,连接只会打开一次。
- 函数签名
ts
records (): FlowConnectionRecord[];FlowConnectionRecord
inBytes():返回自本次连接创建以来累计接收的字节数。outBytes():返回自本次连接创建以来累计发送的字节数。inPackets():返回自本次连接创建以来累计接收的数据包个数。outPackets():返回自本次连接创建以来累计发送的数据包个数。
PushPacket
inout():该数据包的收发方向,"in"为接收,"out"为发送。length():数据包载荷的字节数。payload():该数据包的原始载荷内容,即二进制数据。
Pull
Pull 接口以「jc.zmqpull」作为对象访问前缀。Pull 通信流程包含以下步骤:
- 通过
startAsync创建Pull连接「PullConnection」。 - 操作连接实例,通过接收(
inPacketAsync)接口获取数据包实例「PullPacket」。
操作接口
Pull 的操作接口由入口函数 startAsync 和不同层级(连接/数据包)的工具类接口共同组成。
startAsync()
入口函数。启动1个Pull连接,返回 PullConnection 实例。
- 函数签名
ts
function startAsync (
address?: string, type?: AddressType
): Promise<PullConnection>;- 输入参数
- address(可选) 格式为
[协议名://][地址:][端口]的地址信息,默认值为:tcp://localhost:3000。 - type(可选) Endpoint类型,
bind为本地绑定,connect为远程连接。默认值为'bind'。
- address(可选) 格式为
- 返回值
PullConnection实例对象。
PullConnection
inPacketAsync()
异步获取接收到的数据包对象。
函数签名
tsinPacketAsync (): Promise<PullPacket>;输入参数 无
返回值 Promise对象,接收到数据包后返回
PullPacket对象。
onPacketIn()
当「接收」数据包时触发回调。
函数签名
tsonPacketIn ( handler: (packet: PullPacket) => void, once?: boolean ): CancelFunc;输入参数
- handler 新数据包的处理函数。触发时将会回调本函数,并传入新的
PullPacket实例。 - once(可选),默认值为
false。是否注册为一次性的回调函数,若传入true则触发了1次回调后会自动取消注册。
- handler 新数据包的处理函数。触发时将会回调本函数,并传入新的
返回值 取消函数,调用此函数可以解除本次注册。
只读接口
PullConnection
records()
获取连接的打开记录列表,连接只会打开一次。
- 函数签名
ts
records (): FlowConnectionRecord[];FlowConnectionRecord
inBytes():返回自本次连接创建以来累计接收的字节数。outBytes():返回自本次连接创建以来累计发送的字节数。inPackets():返回自本次连接创建以来累计接收的数据包个数。outPackets():返回自本次连接创建以来累计发送的数据包个数。
PullPacket
inout():该数据包的收发方向,"in"为接收,"out"为发送。length():数据包载荷的字节数。payload():该数据包的原始载荷内容,即二进制数据。
Req
Req 接口以「jc.zmqreq」作为对象访问前缀。Req 通信流程包含以下步骤:
- 通过
startAsync创建Req连接「ReqConnection」。 - 操作连接实例,通过发送(
sendAsync)或接收(inPacketAsync)接口获取数据包实例「ReqPacket」。 - 操作数据包实例,通过接口
replyAsync向数据包的来源发送数据。
操作接口
Req 的操作接口由入口函数 startAsync 和不同层级(连接/数据包)的工具类接口共同组成。
startAsync()
入口函数。启动1个Req连接,返回 ReqConnection 实例。
- 函数签名
ts
function startAsync (
address?: string, type?: AddressType
): Promise<ReqConnection>;- 输入参数
- address(可选) 格式为
[协议名://][地址:][端口]的地址信息,默认值为:tcp://localhost:3000。 - type(可选) Endpoint类型,
bind为本地绑定,connect为远程连接。默认值为'bind'。
- address(可选) 格式为
- 返回值
ReqConnection实例对象。
ReqConnection
Req连接实例的操作接口如下:
sendAsync()
向Rep接口发送请求数据。
函数签名
tssendAsync (type: string, data: any): Promise<ReqPacket>;输入参数
- type 数据类型。
- data 数据内容。
协议支持的数据类型如下:
type data类型 'text'string'hex'string'raw'Buffer返回值 Promise对象,发送完成后返回所发送的
ReqPacket对象。
sendWithAsync()
将其他页面中定义的已有数据内容向Rep接口发送。
函数签名
tssendWithAsync (pageName: string, contentName: string): Promise<ReqPacket>;输入参数
- pageName 页面名称,仅限在「接口」和「模板」页面中查找。
- contentName 内容名称
返回值 Promise对象,发送完成后返回所发送的
ReqPacket对象。
inPacketAsync()
异步获取接收到的数据包对象。
函数签名
tsinPacketAsync (): Promise<ReqPacket>;输入参数 无
返回值 Promise对象,接收到数据包后返回
ReqPacket对象。
onPacket()
当「发送」或「接收」数据包时触发回调。
函数签名
tsonPacket ( handler: (packet: ReqPacket) => void, once?: boolean ): CancelFunc;输入参数
- handler 新数据包的处理函数。触发时将会回调本函数,并传入新的
ReqPacket实例。 - once(可选),默认值为
false。是否注册为一次性的回调函数,若传入true则触发了1次回调后会自动取消注册。
- handler 新数据包的处理函数。触发时将会回调本函数,并传入新的
返回值 取消函数,调用此函数可以解除本次注册。
onPacketIn()
当「接收」数据包时触发回调。
函数签名
tsonPacketIn ( handler: (packet: ReqPacket) => void, once?: boolean ): CancelFunc;输入参数
- handler 新数据包的处理函数。触发时将会回调本函数,并传入新的
ReqPacket实例。 - once(可选),默认值为
false。是否注册为一次性的回调函数,若传入true则触发了1次回调后会自动取消注册。
- handler 新数据包的处理函数。触发时将会回调本函数,并传入新的
返回值 取消函数,调用此函数可以解除本次注册。
onPacketOut()
当「发送」数据包时触发回调。
函数签名
tsonPacketOut ( handler: (packet: ReqPacket) => void, once?: boolean ): CancelFunc;输入参数
- handler 新数据包的处理函数。触发时将会回调本函数,并传入新的
ReqPacket实例。 - once(可选),默认值为
false。是否注册为一次性的回调函数,若传入true则触发了1次回调后会自动取消注册。
- handler 新数据包的处理函数。触发时将会回调本函数,并传入新的
返回值 取消函数,调用此函数可以解除本次注册。
ReqPacket
Req数据包的操作接口如下:
replyAsync()
向数据包的来源回复1个数据包。
函数签名
tsreplyAsync (type: string, data: any): Promise<ReqPacket>;输入参数
- type 数据类型。
- data 数据内容。
协议支持的数据类型如下:
type data类型 'text'string'hex'string'raw'Buffer返回值 Promise对象,发送完成后返回所发送的
ReqPacket对象。
只读接口
ReqConnection
records()
获取连接的打开记录列表,连接只会打开一次。
- 函数签名
ts
records (): FlowConnectionRecord[];FlowConnectionRecord
inBytes():返回自本次连接创建以来累计接收的字节数。outBytes():返回自本次连接创建以来累计发送的字节数。inPackets():返回自本次连接创建以来累计接收的数据包个数。outPackets():返回自本次连接创建以来累计发送的数据包个数。
ReqPacket
inout():该数据包的收发方向,"in"为接收,"out"为发送。length():数据包载荷的字节数。payload():该数据包的原始载荷内容,即二进制数据。
Rep
Rep 接口以「jc.zmqrep」作为对象访问前缀。Rep 通信流程包含以下步骤:
- 通过
startAsync创建Req连接「RepConnection」。 - 操作连接实例,通过发送(
sendAsync)或接收(inPacketAsync)接口获取数据包实例「RepPacket」。 - 操作数据包实例,通过接口
replyAsync向数据包的来源发送数据。
操作接口
Rep 的操作接口由入口函数 startAsync 和不同层级(连接/数据包)的工具类接口共同组成。
startAsync()
入口函数。启动1个Rep连接,返回 RepConnection 实例。
- 函数签名
ts
function startAsync (
address?: string, type?: AddressType
): Promise<RepConnection>;- 输入参数
- address(可选) 格式为
[协议名://][地址:][端口]的地址信息,默认值为:tcp://localhost:3000。 - type(可选) Endpoint类型,
bind为本地绑定,connect为远程连接。默认值为'bind'。
- address(可选) 格式为
- 返回值
RepConnection实例对象。
RepConnection
Rep连接实例的操作接口如下:
sendAsync()
向Req接口发送响应数据。
函数签名
tssendAsync (type: string, data: any): Promise<RepPacket>;输入参数
- type 数据类型。
- data 数据内容。
协议支持的数据类型如下:
type data类型 'text'string'hex'string'raw'Buffer返回值 Promise对象,发送完成后返回所发送的
RepPacket对象。
sendWithAsync()
将其他页面中定义的已有数据内容向Req接口发送。
函数签名
tssendWithAsync (pageName: string, contentName: string): Promise<RepPacket>;输入参数
- pageName 页面名称,仅限在「接口」和「模板」页面中查找。
- contentName 内容名称
返回值 Promise对象,发送完成后返回所发送的
RepPacket对象。
inPacketAsync()
异步获取接收到的数据包对象。
函数签名
tsinPacketAsync (): Promise<RepPacket>;输入参数 无
返回值 Promise对象,接收到数据包后返回
RepPacket对象。
onPacket()
当「发送」或「接收」数据包时触发回调。
函数签名
tsonPacket ( handler: (packet: RepPacket) => void, once?: boolean ): CancelFunc;输入参数
- handler 新数据包的处理函数。触发时将会回调本函数,并传入新的
RepPacket实例。 - once(可选),默认值为
false。是否注册为一次性的回调函数,若传入true则触发了1次回调后会自动取消注册。
- handler 新数据包的处理函数。触发时将会回调本函数,并传入新的
返回值 取消函数,调用此函数可以解除本次注册。
onPacketIn()
当「接收」数据包时触发回调。
函数签名
tsonPacketIn ( handler: (packet: RepPacket) => void, once?: boolean ): CancelFunc;输入参数
- handler 新数据包的处理函数。触发时将会回调本函数,并传入新的
RepPacket实例。 - once(可选),默认值为
false。是否注册为一次性的回调函数,若传入true则触发了1次回调后会自动取消注册。
- handler 新数据包的处理函数。触发时将会回调本函数,并传入新的
返回值 取消函数,调用此函数可以解除本次注册。
onPacketOut()
当「发送」数据包时触发回调。
函数签名
tsonPacketOut ( handler: (packet: RepPacket) => void, once?: boolean ): CancelFunc;输入参数
- handler 新数据包的处理函数。触发时将会回调本函数,并传入新的
RepPacket实例。 - once(可选),默认值为
false。是否注册为一次性的回调函数,若传入true则触发了1次回调后会自动取消注册。
- handler 新数据包的处理函数。触发时将会回调本函数,并传入新的
返回值 取消函数,调用此函数可以解除本次注册。
RepPacket
Rep数据包的操作接口如下:
replyAsync()
向数据包的来源回复1个数据包。
函数签名
tsreplyAsync (type: string, data: any): Promise<RepPacket>;输入参数
- type 数据类型。
- data 数据内容。
协议支持的数据类型如下:
type data类型 'text'string'hex'string'raw'Buffer返回值 Promise对象,发送完成后返回所发送的
RepPacket对象。
只读接口
RepConnection
records()
获取连接的打开记录列表,连接只会打开一次。
- 函数签名
ts
records (): FlowConnectionRecord[];FlowConnectionRecord
inBytes():返回自本次连接创建以来累计接收的字节数。outBytes():返回自本次连接创建以来累计发送的字节数。inPackets():返回自本次连接创建以来累计接收的数据包个数。outPackets():返回自本次连接创建以来累计发送的数据包个数。
RepPacket
inout():该数据包的收发方向,"in"为接收,"out"为发送。length():数据包载荷的字节数。payload():该数据包的原始载荷内容,即二进制数据。
Pub
Pub 接口以「jc.zmqpub」作为对象访问前缀。Pub 通信流程包含以下步骤:
- 通过
startAsync创建Pub会话「PubSession」。 - 操作会话实例,创建主题实例「
PubTopic」。 - 操作主题实例,通过发送(
sendAsync)接口发布主题消息。
操作接口
Pub 的操作接口由入口函数 startAsync 和不同层级(会话/主题/数据包)的工具类接口共同组成。
startAsync()
入口函数。启动1个Pub会话,返回 PubSession 实例。
- 函数签名
ts
function startAsync (
address?: string, type?: AddressType
): Promise<PubSession>;- 输入参数
- address(可选) 格式为
[协议名://][地址:][端口]的地址信息,默认值为:tcp://localhost:3000。 - type(可选) Endpoint类型,
bind为本地绑定,connect为远程连接。默认值为'bind'。
- address(可选) 格式为
- 返回值
PubSession实例对象。
PubSession
Pub会话的操作接口如下:
createAsync()
创建1个特定内容的发布主题对象。
函数签名
tscreateAsync (topic: string): Promise<PubTopic>;输入参数
- topic 主题内容字符串。
返回值
PubTopic实例对象。
endAsync()
正常结束本会话
函数签名
tsendAsync (): Promise<void>;输入参数 无
返回值 无
PubTopic
Pub主题实例的操作接口如下:
sendAsync()
发布特定主题的消息数据。
函数签名
tssendAsync (type: string, data: any): Promise<PubPacket>;输入参数
- type 数据类型。
- data 数据内容。
协议支持的数据类型如下:
type data类型 'text'string'hex'string'raw'Buffer返回值 Promise对象,发送完成后返回所发送的
PubPacket对象。
sendWithAsync()
将其他页面中定义的已有数据内容向特定主题发送。
函数签名
tssendWithAsync (pageName: string, contentName: string): Promise<PubPacket>;输入参数
- pageName 页面名称,仅限在「接口」和「模板」页面中查找。
- contentName 内容名称
返回值 Promise对象,发送完成后返回所发送的
PubPacket对象。
onPacketOut()
当「发送」数据包时触发回调。
函数签名
tsonPacketOut ( handler: (packet: PubPacket) => void, once?: boolean ): CancelFunc;输入参数
- handler 新数据包的处理函数。触发时将会回调本函数,并传入新的
PubPacket实例。 - once(可选),默认值为
false。是否注册为一次性的回调函数,若传入true则触发了1次回调后会自动取消注册。
- handler 新数据包的处理函数。触发时将会回调本函数,并传入新的
返回值 取消函数,调用此函数可以解除本次注册。
只读接口
PubSession
Pub会话实例(PubSession)提供常规的数据和状态访问接口如下:
inBytes():返回自会话创建以来累计接收的字节数,包含其所有主题(若存在多个主题)。outBytes():返回自会话创建以来累计发送的字节数,包含其所有主题(若存在多个主题)。inPackets():返回自会话创建以来累计接收的数据包个数,包含其所有主题(若存在多个主题)。outPackets():返回自会话创建以来累计发送的数据包个数,包含其所有主题(若存在多个主题)。
PubTopic
records()
获取主题的打开记录列表,主题只会打开一次。
- 函数签名
ts
records (): FlowConnectionRecord[];FlowConnectionRecord
inBytes():返回自本主题创建以来累计接收的字节数。outBytes():返回自本主题创建以来累计发送的字节数。inPackets():返回自本主题创建以来累计接收的数据包个数。outPackets():返回自本主题创建以来累计发送的数据包个数。
PubPacket
inout():该数据包的收发方向,"in"为接收,"out"为发送。length():数据包载荷的字节数。payload():该数据包的原始载荷内容,即二进制数据。
Sub
Sub 接口以「jc.zmqsub」作为对象访问前缀。Sub 通信流程包含以下步骤:
- 通过
startAsync创建Sub会话「SubSession」。 - 操作会话实例,订阅并获取主题实例「
SubTopic」。 - 操作主题实例,通过接收(
inPacketAsync)接口获取主题消息示例「SubPacket」。
操作接口
Sub 的操作接口由入口函数 startAsync 和不同层级(会话/主题/数据包)的工具类接口共同组成。
startAsync()
入口函数。启动1个Sub会话,返回 SubSession 实例。
- 函数签名
ts
function startAsync (
address?: string, type?: AddressType
): Promise<SubSession>;- 输入参数
- address(可选) 格式为
[协议名://][地址:][端口]的地址信息,默认值为:tcp://localhost:3000。 - type(可选) Endpoint类型,
bind为本地绑定,connect为远程连接。默认值为'bind'。
- address(可选) 格式为
- 返回值
SubSession实例对象。
SubSession
Sub会话的操作接口如下:
subscribeAsync()
创建1个特定内容的订阅主题对象。
函数签名
tssubscribeAsync (topic: string): Promise<SubTopic>;输入参数
- topic 主题内容字符串。
返回值
SubTopic实例对象。
endAsync()
正常结束本会话
函数签名
tsendAsync (): Promise<void>;输入参数 无
返回值 无
SubTopic
Sub主题实例的操作接口如下:
inPacketAsync()
异步获取接收到的数据包对象。
函数签名
tsinPacketAsync (): Promise<SubPacket>;输入参数 无
返回值 Promise对象,接收到数据包后返回
SubPacket对象。
onPacketIn()
当「接收」数据包时触发回调。
函数签名
tsonPacketIn ( handler: (packet: SubPacket) => void, once?: boolean ): CancelFunc;输入参数
- handler 新数据包的处理函数。触发时将会回调本函数,并传入新的
SubPacket实例。 - once(可选),默认值为
false。是否注册为一次性的回调函数,若传入true则触发了1次回调后会自动取消注册。
- handler 新数据包的处理函数。触发时将会回调本函数,并传入新的
返回值 取消函数,调用此函数可以解除本次注册。
只读接口
SubSession
Sub会话实例(SubSession)提供常规的数据和状态访问接口如下:
inBytes():返回自会话创建以来累计接收的字节数,包含其所有主题(若存在多个主题)。outBytes():返回自会话创建以来累计发送的字节数,包含其所有主题(若存在多个主题)。inPackets():返回自会话创建以来累计接收的数据包个数,包含其所有主题(若存在多个主题)。outPackets():返回自会话创建以来累计发送的数据包个数,包含其所有主题(若存在多个主题)。
SubTopic
records()
获取主题的订阅记录列表,主题可以反复订阅/取消订阅。
- 函数签名
ts
records (): FlowConnectionRecord[];FlowConnectionRecord
inBytes():返回自本次主题订阅以来累计接收的字节数。outBytes():返回自本次主题订阅以来累计发送的字节数。inPackets():返回自本次主题订阅以来累计接收的数据包个数。outPackets():返回自本次主题订阅以来累计发送的数据包个数。
PubPacket
inout():该数据包的收发方向,"in"为接收,"out"为发送。length():数据包载荷的字节数。payload():该数据包的原始载荷内容,即二进制数据。
