![[UNIX、Linux、Windows、IBM i]](ngmulti.gif)
TCP 客户端配置文件的段落
使用 TCP 配置段来指定 TCP 网络协议的配置参数。
TCP 段落中可以包含以下属性:
- 客户端-服务器连接通道中,客户端端使用的 TCP/IP 接收缓冲区的字节大小。
此属性可由C、非托管 .NET、 IBM MQ classes for Java、 IBM MQ classes for JMS、 IBM MQ classes for Jakarta Messaging、托管 .NET 和托管 XMS .NET 客户端读取。
如果没有设置值,则使用 IBM MQ 默认值32768。
如果该值设置为零,那么将使用操作系统缺省值。 值为零表示操作系统将管理缓冲区大小,而不是由 IBM MQ固定缓冲区大小。
![[ MQ 9.4.0.10 Feb 2025]](ng94010.gif)
从 IBM MQ 9.4.2 到 Continuous Delivery ,从 IBM MQ 9.4.0 Fix Pack 10 到 Long Term Support ,如果 IBM MQ Java 客户端将该值设为零, Java Message Queuing Interface (JMQI) 就会使用网络层提供的缓冲区大小。 此修复解决了先前的一个问题:当将该属性设置为零时,JMQI在与队列管理器通信时,会错误地使用大小为 32K 的 TCP/IP 接收缓冲区。 接收缓冲区大小会被写入, IBM MQ classes for JMS, 或 IBM MQ classes for Jakarta Messaging 日志文件中的 JMSCS0062 消息中 IBM MQ classes for Java。 - 客户端-连接服务器-连接通道中,客户端端使用的 TCP/IP 发送缓冲区的字节大小。
此属性可由C、非托管 .NET、 IBM MQ classes for Java、 IBM MQ classes for JMS、 IBM MQ classes for Jakarta Messaging、托管 .NET 和托管 XMS .NET 客户端读取。
如果没有设置值,则使用 IBM MQ 默认值32768。
如果该值设置为零,那么将使用操作系统缺省值。 值为零表示操作系统将管理缓冲区大小,而不是由 IBM MQ固定缓冲区大小。
![[ MQ 9.4.0.10 Feb 2025]](ng94010.gif)
从 IBM MQ 9.4.2 到 Continuous Delivery ,从 IBM MQ 9.4.0 Fix Pack 10 到 Long Term Support ,如果 IBM MQ Java 客户端将该值设为零, Java Message Queuing Interface (JMQI) 就会使用网络层提供的缓冲区大小。 此修复解决了先前的一个问题:此前,若将该属性设置为零,JMQI在与队列管理器通信时,会错误地使用大小为 32K 的 TCP/IP 发送缓冲区。 发送缓冲区大小会被写入, IBM MQ classes for JMS, 或 IBM MQ classes for Jakarta Messaging 日志 IBM MQ classes for Java文件中的 JMSCS0061 消息中。 - 连接套接字尝试超时前的最大秒数。
此属性由C语言、非托管 .NET、 IBM MQ classes for Java以及 IBM MQ classes for JMS 客户端读取。
若为非零值 Connect_Timeout, IBM MQ 则要求操作系统最多等待此秒数后返回失败状态。
如果远程端立即告知本地操作系统该端口上没有任何进程在监听,则连接尝试通常会立即失败,无论你为 Connect_Timeout. 设置了什么值。 (此时 Windows,操作系统通常需要1-2秒才能通知 IBM MQ 此状态。)
如果本地操作系统未收到来自远程端口的任何数据(这种情况发生在您指定了离线或不存在的机器地址时),通常 Connect_Timeout 经过数秒后,操作系统才会 IBM MQ 通知该故障状态。 若将该参数 Connect_Timeout 设为零(此为默认值),则最大耗时为20秒。
- 指定要用于通道连接的 IP 协议。
此属性可以由 C ,非受管 .NET,受管 .NET和受管 XMS .NET 客户机读取。
它具有可能的字符串值 MQIPADDR_IPV4 或 MQIPADDR_IPV6。 这些值与 ALTER QMGR IPADDRV 和 MQIPADDRV 环境变量中的 IPV4 和 IPV6 具有相同的含义。
- 打开或关闭KeepAlive功能。 KeepAlive=YES 这会促使 TCP/IP 定期检查连接的另一端是否仍可访问。 如果没有,则关闭通道。
此属性可以由 C ,非受管 .NET, IBM MQ classes for Java, IBM MQ classes for JMS,受管 .NET和受管 XMS .NET 客户机读取。
( Windows 仅) TCP/IP 套接字 DLL 的名称。此属性可由 C 和非受管 .NET 客户机读取。
- IBM MQ 在 IPv6 和 IPv4 混合环境中查找主机名的顺序。 如果 AMQ_NO_IPV6 环境变量,则无论配置了什么值, IBM MQ 都会像设置了 DNSResolutionOrder=IPV4 一样运行。
![[ MQ 9.4.3 Jul 2025]](ng943.gif)