跳转到内容

ZeroMQ

Push

Push 接口以「jc.zmqpush」作为对象访问前缀。Push 通信流程包含以下步骤:

  1. 通过startAsync创建Push连接「PushConnection」。
  2. 操作连接实例,通过发送(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'。
  • 返回值 PushConnection 实例对象。

PushConnection

Push连接实例的操作接口如下:

sendAsync()

向Pull接口发送数据。

  • 函数签名

    ts
    sendAsync (type: string, data: any): Promise<PushPacket>;
  • 输入参数

    • type 数据类型。
    • data 数据内容。

    协议支持的数据类型如下:

    typedata类型
    'text'string
    'hex'string
    'raw'Buffer
  • 返回值 Promise对象,发送完成后返回所发送的PushPacket对象。

sendWithAsync()

将其他页面中定义的已有数据内容向Pull接口发送。

  • 函数签名

    ts
    sendWithAsync (pageName: string, contentName: string): Promise<PushPacket>;
  • 输入参数

    • pageName 页面名称,仅限在「接口」和「模板」页面中查找。
    • contentName 内容名称
  • 返回值 Promise对象,发送完成后返回所发送的PushPacket对象。

onPacketOut()

当「发送」数据包时触发回调。

  • 函数签名

    ts
    onPacketOut (
      handler: (packet: PushPacket) => void, once?: boolean
    ): CancelFunc;
  • 输入参数

    • handler 新数据包的处理函数。触发时将会回调本函数,并传入新的PushPacket实例。
    • once(可选),默认值为false。是否注册为一次性的回调函数,若传入true则触发了1次回调后会自动取消注册。
  • 返回值 取消函数,调用此函数可以解除本次注册。

只读接口

PushConnection

records()

获取连接的打开记录列表,连接只会打开一次。

  • 函数签名
ts
records (): FlowConnectionRecord[];

FlowConnectionRecord

  • inBytes():返回自本次连接创建以来累计接收的字节数。
  • outBytes():返回自本次连接创建以来累计发送的字节数。
  • inPackets():返回自本次连接创建以来累计接收的数据包个数。
  • outPackets():返回自本次连接创建以来累计发送的数据包个数。

PushPacket

  • inout():该数据包的收发方向,"in"为接收,"out"为发送。
  • length():数据包载荷的字节数。
  • payload():该数据包的原始载荷内容,即二进制数据。

Pull

Pull 接口以「jc.zmqpull」作为对象访问前缀。Pull 通信流程包含以下步骤:

  1. 通过startAsync创建Pull连接「PullConnection」。
  2. 操作连接实例,通过接收(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'。
  • 返回值 PullConnection 实例对象。

PullConnection

inPacketAsync()

异步获取接收到的数据包对象。

  • 函数签名

    ts
    inPacketAsync (): Promise<PullPacket>;
  • 输入参数 无

  • 返回值 Promise对象,接收到数据包后返回PullPacket对象。

onPacketIn()

当「接收」数据包时触发回调。

  • 函数签名

    ts
    onPacketIn (
      handler: (packet: PullPacket) => void, once?: boolean
    ): CancelFunc;
  • 输入参数

    • handler 新数据包的处理函数。触发时将会回调本函数,并传入新的PullPacket实例。
    • once(可选),默认值为false。是否注册为一次性的回调函数,若传入true则触发了1次回调后会自动取消注册。
  • 返回值 取消函数,调用此函数可以解除本次注册。

只读接口

PullConnection

records()

获取连接的打开记录列表,连接只会打开一次。

  • 函数签名
ts
records (): FlowConnectionRecord[];

FlowConnectionRecord

  • inBytes():返回自本次连接创建以来累计接收的字节数。
  • outBytes():返回自本次连接创建以来累计发送的字节数。
  • inPackets():返回自本次连接创建以来累计接收的数据包个数。
  • outPackets():返回自本次连接创建以来累计发送的数据包个数。

PullPacket

  • inout():该数据包的收发方向,"in"为接收,"out"为发送。
  • length():数据包载荷的字节数。
  • payload():该数据包的原始载荷内容,即二进制数据。

Req

Req 接口以「jc.zmqreq」作为对象访问前缀。Req 通信流程包含以下步骤:

  1. 通过startAsync创建Req连接「ReqConnection」。
  2. 操作连接实例,通过发送(sendAsync)或接收(inPacketAsync)接口获取数据包实例「ReqPacket」。
  3. 操作数据包实例,通过接口 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'。
  • 返回值 ReqConnection 实例对象。

ReqConnection

Req连接实例的操作接口如下:

sendAsync()

向Rep接口发送请求数据。

  • 函数签名

    ts
    sendAsync (type: string, data: any): Promise<ReqPacket>;
  • 输入参数

    • type 数据类型。
    • data 数据内容。

    协议支持的数据类型如下:

    typedata类型
    'text'string
    'hex'string
    'raw'Buffer
  • 返回值 Promise对象,发送完成后返回所发送的ReqPacket对象。

sendWithAsync()

将其他页面中定义的已有数据内容向Rep接口发送。

  • 函数签名

    ts
    sendWithAsync (pageName: string, contentName: string): Promise<ReqPacket>;
  • 输入参数

    • pageName 页面名称,仅限在「接口」和「模板」页面中查找。
    • contentName 内容名称
  • 返回值 Promise对象,发送完成后返回所发送的ReqPacket对象。

inPacketAsync()

异步获取接收到的数据包对象。

  • 函数签名

    ts
    inPacketAsync (): Promise<ReqPacket>;
  • 输入参数 无

  • 返回值 Promise对象,接收到数据包后返回ReqPacket对象。

onPacket()

当「发送」或「接收」数据包时触发回调。

  • 函数签名

    ts
    onPacket (
      handler: (packet: ReqPacket) => void, once?: boolean
    ): CancelFunc;
  • 输入参数

    • handler 新数据包的处理函数。触发时将会回调本函数,并传入新的ReqPacket实例。
    • once(可选),默认值为false。是否注册为一次性的回调函数,若传入true则触发了1次回调后会自动取消注册。
  • 返回值 取消函数,调用此函数可以解除本次注册。

onPacketIn()

当「接收」数据包时触发回调。

  • 函数签名

    ts
    onPacketIn (
      handler: (packet: ReqPacket) => void, once?: boolean
    ): CancelFunc;
  • 输入参数

    • handler 新数据包的处理函数。触发时将会回调本函数,并传入新的ReqPacket实例。
    • once(可选),默认值为false。是否注册为一次性的回调函数,若传入true则触发了1次回调后会自动取消注册。
  • 返回值 取消函数,调用此函数可以解除本次注册。

onPacketOut()

当「发送」数据包时触发回调。

  • 函数签名

    ts
    onPacketOut (
      handler: (packet: ReqPacket) => void, once?: boolean
    ): CancelFunc;
  • 输入参数

    • handler 新数据包的处理函数。触发时将会回调本函数,并传入新的ReqPacket实例。
    • once(可选),默认值为false。是否注册为一次性的回调函数,若传入true则触发了1次回调后会自动取消注册。
  • 返回值 取消函数,调用此函数可以解除本次注册。

ReqPacket

Req数据包的操作接口如下:

replyAsync()

向数据包的来源回复1个数据包。

  • 函数签名

    ts
    replyAsync (type: string, data: any): Promise<ReqPacket>;
  • 输入参数

    • type 数据类型。
    • data 数据内容。

    协议支持的数据类型如下:

    typedata类型
    '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 通信流程包含以下步骤:

  1. 通过startAsync创建Req连接「RepConnection」。
  2. 操作连接实例,通过发送(sendAsync)或接收(inPacketAsync)接口获取数据包实例「RepPacket」。
  3. 操作数据包实例,通过接口 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'。
  • 返回值 RepConnection 实例对象。

RepConnection

Rep连接实例的操作接口如下:

sendAsync()

向Req接口发送响应数据。

  • 函数签名

    ts
    sendAsync (type: string, data: any): Promise<RepPacket>;
  • 输入参数

    • type 数据类型。
    • data 数据内容。

    协议支持的数据类型如下:

    typedata类型
    'text'string
    'hex'string
    'raw'Buffer
  • 返回值 Promise对象,发送完成后返回所发送的RepPacket对象。

sendWithAsync()

将其他页面中定义的已有数据内容向Req接口发送。

  • 函数签名

    ts
    sendWithAsync (pageName: string, contentName: string): Promise<RepPacket>;
  • 输入参数

    • pageName 页面名称,仅限在「接口」和「模板」页面中查找。
    • contentName 内容名称
  • 返回值 Promise对象,发送完成后返回所发送的RepPacket对象。

inPacketAsync()

异步获取接收到的数据包对象。

  • 函数签名

    ts
    inPacketAsync (): Promise<RepPacket>;
  • 输入参数 无

  • 返回值 Promise对象,接收到数据包后返回RepPacket对象。

onPacket()

当「发送」或「接收」数据包时触发回调。

  • 函数签名

    ts
    onPacket (
      handler: (packet: RepPacket) => void, once?: boolean
    ): CancelFunc;
  • 输入参数

    • handler 新数据包的处理函数。触发时将会回调本函数,并传入新的RepPacket实例。
    • once(可选),默认值为false。是否注册为一次性的回调函数,若传入true则触发了1次回调后会自动取消注册。
  • 返回值 取消函数,调用此函数可以解除本次注册。

onPacketIn()

当「接收」数据包时触发回调。

  • 函数签名

    ts
    onPacketIn (
      handler: (packet: RepPacket) => void, once?: boolean
    ): CancelFunc;
  • 输入参数

    • handler 新数据包的处理函数。触发时将会回调本函数,并传入新的RepPacket实例。
    • once(可选),默认值为false。是否注册为一次性的回调函数,若传入true则触发了1次回调后会自动取消注册。
  • 返回值 取消函数,调用此函数可以解除本次注册。

onPacketOut()

当「发送」数据包时触发回调。

  • 函数签名

    ts
    onPacketOut (
      handler: (packet: RepPacket) => void, once?: boolean
    ): CancelFunc;
  • 输入参数

    • handler 新数据包的处理函数。触发时将会回调本函数,并传入新的RepPacket实例。
    • once(可选),默认值为false。是否注册为一次性的回调函数,若传入true则触发了1次回调后会自动取消注册。
  • 返回值 取消函数,调用此函数可以解除本次注册。

RepPacket

Rep数据包的操作接口如下:

replyAsync()

向数据包的来源回复1个数据包。

  • 函数签名

    ts
    replyAsync (type: string, data: any): Promise<RepPacket>;
  • 输入参数

    • type 数据类型。
    • data 数据内容。

    协议支持的数据类型如下:

    typedata类型
    '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 通信流程包含以下步骤:

  1. 通过startAsync创建Pub会话「PubSession」。
  2. 操作会话实例,创建主题实例「PubTopic」。
  3. 操作主题实例,通过发送(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'。
  • 返回值 PubSession 实例对象。

PubSession

Pub会话的操作接口如下:

createAsync()

创建1个特定内容的发布主题对象。

  • 函数签名

    ts
    createAsync (topic: string): Promise<PubTopic>;
  • 输入参数

    • topic 主题内容字符串。
  • 返回值 PubTopic实例对象。

endAsync()

正常结束本会话

  • 函数签名

    ts
    endAsync (): Promise<void>;
  • 输入参数 无

  • 返回值 无

PubTopic

Pub主题实例的操作接口如下:

sendAsync()

发布特定主题的消息数据。

  • 函数签名

    ts
    sendAsync (type: string, data: any): Promise<PubPacket>;
  • 输入参数

    • type 数据类型。
    • data 数据内容。

    协议支持的数据类型如下:

    typedata类型
    'text'string
    'hex'string
    'raw'Buffer
  • 返回值 Promise对象,发送完成后返回所发送的PubPacket对象。

sendWithAsync()

将其他页面中定义的已有数据内容向特定主题发送。

  • 函数签名

    ts
    sendWithAsync (pageName: string, contentName: string): Promise<PubPacket>;
  • 输入参数

    • pageName 页面名称,仅限在「接口」和「模板」页面中查找。
    • contentName 内容名称
  • 返回值 Promise对象,发送完成后返回所发送的PubPacket对象。

onPacketOut()

当「发送」数据包时触发回调。

  • 函数签名

    ts
    onPacketOut (
      handler: (packet: PubPacket) => void, once?: boolean
    ): CancelFunc;
  • 输入参数

    • handler 新数据包的处理函数。触发时将会回调本函数,并传入新的PubPacket实例。
    • once(可选),默认值为false。是否注册为一次性的回调函数,若传入true则触发了1次回调后会自动取消注册。
  • 返回值 取消函数,调用此函数可以解除本次注册。

只读接口

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 通信流程包含以下步骤:

  1. 通过startAsync创建Sub会话「SubSession」。
  2. 操作会话实例,订阅并获取主题实例「SubTopic」。
  3. 操作主题实例,通过接收(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'。
  • 返回值 SubSession 实例对象。

SubSession

Sub会话的操作接口如下:

subscribeAsync()

创建1个特定内容的订阅主题对象。

  • 函数签名

    ts
    subscribeAsync (topic: string): Promise<SubTopic>;
  • 输入参数

    • topic 主题内容字符串。
  • 返回值 SubTopic实例对象。

endAsync()

正常结束本会话

  • 函数签名

    ts
    endAsync (): Promise<void>;
  • 输入参数 无

  • 返回值 无

SubTopic

Sub主题实例的操作接口如下:

inPacketAsync()

异步获取接收到的数据包对象。

  • 函数签名

    ts
    inPacketAsync (): Promise<SubPacket>;
  • 输入参数 无

  • 返回值 Promise对象,接收到数据包后返回SubPacket对象。

onPacketIn()

当「接收」数据包时触发回调。

  • 函数签名

    ts
    onPacketIn (
      handler: (packet: SubPacket) => void, once?: boolean
    ): CancelFunc;
  • 输入参数

    • handler 新数据包的处理函数。触发时将会回调本函数,并传入新的SubPacket实例。
    • once(可选),默认值为false。是否注册为一次性的回调函数,若传入true则触发了1次回调后会自动取消注册。
  • 返回值 取消函数,调用此函数可以解除本次注册。

只读接口

SubSession

Sub会话实例(SubSession)提供常规的数据和状态访问接口如下:

  • inBytes():返回自会话创建以来累计接收的字节数,包含其所有主题(若存在多个主题)。
  • outBytes():返回自会话创建以来累计发送的字节数,包含其所有主题(若存在多个主题)。
  • inPackets():返回自会话创建以来累计接收的数据包个数,包含其所有主题(若存在多个主题)。
  • outPackets():返回自会话创建以来累计发送的数据包个数,包含其所有主题(若存在多个主题)。

SubTopic

records()

获取主题的订阅记录列表,主题可以反复订阅/取消订阅。

  • 函数签名
ts
records (): FlowConnectionRecord[];

FlowConnectionRecord

  • inBytes():返回自本次主题订阅以来累计接收的字节数。
  • outBytes():返回自本次主题订阅以来累计发送的字节数。
  • inPackets():返回自本次主题订阅以来累计接收的数据包个数。
  • outPackets():返回自本次主题订阅以来累计发送的数据包个数。

PubPacket

  • inout():该数据包的收发方向,"in"为接收,"out"为发送。
  • length():数据包载荷的字节数。
  • payload():该数据包的原始载荷内容,即二进制数据。