IP 消息头

此模块使用以下 MessageHeader 实例:

头名称 IpHeaders 常量 描述

ip_hostname

HOSTNAME

接收 TCP 消息或 UDP 数据包的主机名。 如果 lookupHostfalse,则包含 IP 地址。

ip_address

IP_ADDRESS

接收 TCP 消息或 UDP 数据包的 IP 地址。

ip_port

PORT

UDP 数据包的远程端口。

ip_localInetAddress

IP_LOCAL_ADDRESS

套接字连接到的本地 InetAddress(自 4.2.5 版本起)。

ip_ackTo

ACKADDRESS

发送 UDP 应用层确认的远程 IP 地址。 框架在数据包中包含确认信息。

ip_ackId

ACK_ID

UDP 应用层确认的关联 ID。 框架在数据包中包含确认信息。

ip_tcp_remotePort

REMOTE_PORT

TCP 连接的远程端口。

ip_connectionId

CONNECTION_ID

TCP 连接的唯一标识符。 由框架为入站消息设置。 当发送到服务器端入站通道适配器或回复入站网关时,此头是必需的,以便端点可以确定要将消息发送到哪个连接。

ip_actualConnectionId

ACTUAL_CONNECTION_ID

仅供参考。 当使用缓存或故障转移客户端连接工厂时,它包含实际的底层连接 ID。

contentType

MessageHeaders. CONTENT_TYPE

入站消息的可选内容类型 在此表之后描述。 请注意,与其他头常量不同,此常量位于 MessageHeaders 类中,而不是 IpHeaders 类中。

对于入站消息,ip_hostnameip_addressip_tcp_remotePortip_connectionId 由默认的 TcpHeaderMapper 映射。 如果将映射器的 addContentTypeHeader 属性设置为 true,映射器会设置 contentType 头(默认为 application/octet-stream;charset="UTF-8")。 您可以通过设置 contentType 属性来更改默认值。 您可以通过继承 TcpHeaderMapper 并重写 supplyCustomHeaders 方法来添加额外的头。 例如,当您使用 SSL 时,可以通过从 TcpConnection 对象获取会话对象来添加 SSLSession 的属性,TcpConnection 对象作为参数提供给 supplyCustomHeaders 方法。

对于出站消息,String 负载会使用默认的 (UTF-8) 字符集转换为 byte[]。 设置 charset 属性可以更改默认值。

自定义映射器属性或继承时,请将映射器声明为一个 bean,并通过使用 mapper 属性向连接工厂提供一个实例。