跳转到主要内容
TCP Server 端口支持托管通用接口,通过 TCP 接收任意数据。

核心功能

  • 通用 TCP/IP 服务器端点,支持 TLS/SSL 和明文传输,适用于任意数据流
  • 可配置的消息分隔,支持使用静态分隔符或基于长度的解析
  • 具备双向通信能力,支持基于连接 ID 的路由和连接事件消息

概述

每个 TCP Server 端口都会在指定的端口上监听传入的 TCP 流量,可以是 TLS/SSL 加密,也可以是纯文本。该端口适用于 需要接收不一定符合其它标准协议提供的约束的任意数据时的情况。 由于 TCP 流量是一个恒定的流,本质上没有”开始”或”结束”点,因此必须对端口进行配置,以确定一个消息的结束点和下一个消息的开始点。端口支持两种方法:
  • 一个静态的字符串/字符分隔符,用于结束当前消息或开始下一个消息。
  • 读取传入的 TCP 数据中的一个值,以确定信息的长度。
对于第二种方式,端口需要一个偏移量(从第一个字节后多少个字节开始读取消息长度)和一个大小(从偏移量开始读取长度值,要读取多少个字节)。如果消息的长度是消息的”头”中的第一个值,那么偏移量应该是 0。 一旦达到分隔符或长度,端口将向 工作流推送包含通过 TCP 接收的原始数据的消息。 TCP Server 端口还可以在客户端连接或断开连接时生成 消息,以提醒工作流中的其它进程。更多信息可参见连接和断开消息部分。 有关向 TCP 客户端发送响应的信息,请参见发送消息部分。

端口配置

设置选项卡

配置

与端口关键配置有关的设置。

消息解码

与区分 TCP 流中的单个消息有关的设置。

TLS 设置

与 TLS/SSL 传输安全相关的设置。

高级设置选项卡

保持活动

与服务器发送 keep-alive 数据包以保持空闲连接有关的设置。

高级设置

先前目录中未包含的设置。

消息

日志

杂项设置

服务器选项卡

受信任的 IP 地址

自动化选项卡

自动化

与端口自动处理文件相关的设置。

性能

告警选项卡

SLA 选项卡

连接和断开消息

默认情况下,TCP Server 端口仅在客户端传输数据时生成 消息,以便端口识别完整的消息(根据消息解码部分的设置)。当客户端连接到服务器(如果在高级设置选项卡中启用了连接消息)或断开与服务器的连接(如果在高级设置选项卡中启用了断开消息)时,端口也可以生成 消息。 当这些特殊消息生成后, 消息中会添加一个特殊的头部: x-tcpserver-event 客户端连接时,此头部设置为值 connected,而客户端断开连接时,此头部设置为 disconnected 该头部必须由工作流中之后的端口检查,以检测写入 TCP Server 端口输出文件夹的消息是否属于这些特殊消息。

发送消息

TCP Server 端口还使用一个特殊的头部值来向连接的客户端发送消息: x-tcpserver-connectionid 该头部被添加到端口生成的任何输出消息中,设置为 “Connection ID” 值,以唯一标识所连接的客户端之一。为了确保消息被发送到正确的客户端,被发送回此客户端的消息 必须 将此相同的头部设置为相同的值。 由于该头部已经存在于端口写出的任何消息中,因此如果消息通过 工作流并返回 TCP Server 端口的交易选项卡,它仍将具有相同的 “Connection ID” 值,并将返回给发送原始消息的同一个客户端。如果消息不能直接路由回 TCP Server 端口,那么必须保存 “Connection ID” 值,并将其作为一个头部(与上面列出的名称相同)应用到任何返回给客户端的新消息中。

示例