SET TCPIPSERVICE
使用 CICS® 内部 TCP/IP 支持修改服务的状态。
语法
通过指定 XCMD 系统初始化参数并确保事务的命令安全检查处于激活状态(在 TRANSACTION 资源定义中指定 CMDSEC(YES) 或在 CMDSEC 系统初始化参数中指定 ALWAYS),激活命令安全检查。
条件:INVREQ、NOTAUTH 和 NOTFND
NOHANDLE, RESP, 和 RESP2 是可以添加到所有 EXEC CICS 命令中的常用选项,用于处理错误条件。 命令语法图和选项说明中没有明确包含这些选项。 有关这些常用选项和 EXEC CICS 命令语法的信息,请参阅 EXEC CICS 命令格式和编程注意事项. 有关使用 CVDA 的更多信息,请参阅 CICS-值数据区 (CVDA)。
此命令是线程安全的。
描述
SET TCPIPSERVICE 指示 CICS 开始或停止侦听与使用 CICS 内部 TCP/IP 支持的服务相关联的端口上的入局请求,并更改该服务的属性。
要更改已定义并安装在 CICS 束中的 TCPIPSERVICE 资源的状态,请启用或禁用 CICS 束。 如果已禁用 CICS 束,但该服务尚未关闭,那么可以针对动态生成的资源发出 SET TCPIPSERVICE IMMCLOSE 命令以立即关闭该服务。
- 可以单独更新单独部署或使用平台部署的 CICS 束。
- 如果 CICS 束是作为应用程序的一部分或通过应用程序绑定进行部署,请更新整个应用程序。
选项
- BACKLOG (数据区)
- 更改可以在 TCP/IP 中排队等待服务处理的请求的最大数目。 必须先关闭服务,然后才能更改此值。 如果 BACKLOG 的值小于 TCP/IP 属性 SOMAXCONN 的值,那么将使用 BACKLOG 属性指定的积压值打开 TCPIPSERVICE。 如果 BACKLOG 的值大于 SOMAXCONN,那么将使用 SOMAXCONN 指定的积压值打开 TCPIPSERVICE。 值为零表示使用 SOMAXCONN 指定的积压值打开 TCPIPService。
- OPENSTATUS (cvda)
- 更改服务的状态。 CVDA 值包括:
- OPEN
- CICS 开始侦听指定端口上的入局请求。 如果 TCPIPSERVICE 指定 SPECIFTCPS 值,那么必须找到具有该名称的已安装并打开的 TCPIPSERVICE。 它必须具有相同的安全性属性设置才能使 OPEN 成功。 如果 SPECIFTCPS 中指定的 TCPIPSERVICE 已与另一个已打开的 TCPIPSERVICE 关联,那么 OPEN 将失败。
- CLOSED
- CICS 停止接受此服务的新连接。 关闭所有相关套接字时,将关闭该服务。 允许已启动且正在使用此服务的任务完成。在发出 SET TCPIPSERVICE OPENSTATUS(CLOSED) 命令后, CICS 会尝试关闭 HTTP 持久连接,具体如下:
- 当有 HTTP 持久连接请求时, CICS 允许其下一个请求进行处理。 处理完成后 CICS 向客户端发送关闭头,然后关闭 HTTP 持久连接。
- 当没有 HTTP 持久连接请求时, CICS 将在 30 秒内关闭 HTTP 持久连接;如果该值小于 30 秒,则在 TCPIPSERVICE 的 SOCKETCLOSE 属性中指定的时间内关闭该连接。
在 IPIC 高可用性环境中, CLOSED 将应用于与此环境相关联的任何通用 TCPIPSERVICE。 通用 TCPIPSERVICE 名称记录在此资源的 GENERICTCPS 选项中。
- IMMCLOSE
- CICS 停止接受此服务的新连接。 立即关闭服务,并关闭所有相关套接字。 仅当通过套接字尝试数据传输时,使用此服务启动的任务才会收到错误响应,这可能处于任务终止状态。
在 IPIC 高可用性环境中, IMMCLOSE 适用于与此环境相关联的任何通用 TCPIPSERVICE。 通用 TCPIPSERVICE 名称记录在此资源的 GENERICTCPS 选项中。
注: 执行立即关闭时可能会发生不可预测的结果,具体取决于当时正在运行的工作负载。
- MAXDATALEN (数据区)
- 更改 CICS HTTP可接收的最大数据长度(以千字节为单位)。 缺省值为 32。 最小值为 3 ,最大值为 524288。
- URM (data-value)
- 指定要用作服务用户可替换模块的程序的 8 字符名称。 您可以为服务指定特定于安装的程序或 CICS提供的缺省值。 某些服务可能不允许更改此名称。
条件
- INVREQ
- RESP2 值:
- 5
- TCP/IP 状态为 "已关闭"
- 7
- 端口正在使用中
- 8
- CICS 无权使用此端口
- 9
- TCPIPSERVICE 未关闭
- 10
- 未知 IP 地址
- 11
- 在 SET 命令的操作数中指定了无效值。
- 12
- 无法执行请求的操作,因为服务的 openstatus 不允许该操作。
- 13
- TCP/IP 处于不活动状态。
- 14
- 由于已达到 MAXSOCKETS 限制,因此未打开 TCPIPSERVICE。
- 19
- 无法打开 TCPIPSERVICE ,因为 IP 地址或主机未知。
- 20
- 由于未安装 SPECIFTCPS ,因此无法打开 TCPIPSERVICE。
- 21
- 无法打开 TCPIPSERVICE ,因为 SPECIFTCPS 未打开。
- 22
- 无法打开 TCPIPSERVICE ,因为 SPECIFTCPS 正在与另一个通用 TCPIPSERVICE 配合使用。
- 23
- 无法打开 TCPIPSERVICE ,因为 SPECIFTCPS 没有与此安全设置相同的安全设置。
- 24
- 无法打开 TCPIPSERVICE ,因为 SPECIFTCPS 不是 IPIC 连接的特定端点。
- 300
- 指定了对 BUNDLE 资源安装的资源无效的操作。
- 301
- 必须先禁用 BUNDLE 资源,然后才能对 TCPIPSERVICE 执行 IMMCLOSE 操作。
- NOTAUTH
- RESP2 值:
- 100
- 未授权与发出任务关联的用户使用此命令。
- NOTFND
- RESP2 值:
- 3
- 找不到指定的 TCPIPSERVICE。
