核心功能
- 通用 TCP/IP 服务器端点,支持 TLS/SSL 和明文传输,适用于任意数据流
- 可配置的消息分隔,支持使用静态分隔符或基于长度的解析
- 具备双向通信能力,支持基于连接 ID 的路由和连接事件消息
概述
每个 TCP Server 端口都会在指定的端口上监听传入的 TCP 流量,可以是 TLS/SSL 加密,也可以是纯文本。该端口适用于 知行之桥 需要接收不一定符合其它标准协议提供的约束的任意数据时的情况。 由于 TCP 流量是一个恒定的流,本质上没有”开始”或”结束”点,因此必须对端口进行配置,以确定一个消息的结束点和下一个消息的开始点。端口支持两种方法:- 一个静态的字符串/字符分隔符,用于结束当前消息或开始下一个消息。
- 读取传入的 TCP 数据中的一个值,以确定信息的长度。
端口配置
设置选项卡
配置
与端口关键配置有关的设置。消息解码
与区分 TCP 流中的单个消息有关的设置。TLS 设置
与 TLS/SSL 传输安全相关的设置。高级设置选项卡
保持活动
与服务器发送 keep-alive 数据包以保持空闲连接有关的设置。高级设置
先前目录中未包含的设置。消息
消息设置确定端口如何搜索消息并在处理后管理它们。
| 设置 | 描述 |
|---|---|
| 保存到已发送文件夹 | 选中此项可将端口处理的文件复制到该端口的“已发送”文件夹中。 |
| 已发送文件夹方案 | 端口根据选定的时间间隔对 已发送 文件夹中的文件进行分组。例如,Weekly 选项指示端口每周创建一个新的子文件夹,并将本周发送的所有文件存储在该文件夹中。空白设置告诉端口将所有文件直接保存在 已发送 文件夹中。对于处理许多事务的端口,使用子文件夹可以帮助保持文件有序并提高性能。 |
日志
用于管理日志创建和存储的设置。
| 设置 | 描述 |
|---|---|
| 日志级别 | 指定要记录在端口日志目录中的信息类型:
|
| 日志文件夹结构 | 指示端口根据选定的时间间隔将日志文件夹中的文件分组。例如,Weekly 选项指示端口每周创建一个新的子文件夹,并将该周的所有日志存储在该文件夹中。空白设置告诉端口将所有日志直接保存在日志文件夹中。对于处理许多事务的端口,使用子文件夹有助于保持日志的有序性并提高性能。 |
| 保留消息副本 | 指示端口在日志目录中保存最新消息副本的切换。请注意,端口每个子文件夹只保留一个消息,并且端口在再次运行时会覆盖以前保存的消息。 |
杂项设置
特殊设置适用于特定用例。
| 设置 | 描述 |
|---|---|
| 其他设置 | 允许在以分号分隔的列表中配置隐藏的端口设置,例如 setting1=value1;setting2=value2。正常的端口用例和功能不需要使用这些设置。 |
服务器选项卡
受信任的 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” 值,并将其作为一个头部(与上面列出的名称相同)应用到任何返回给客户端的新消息中。