SET TCPIPSERVICE

使用 CICS® 内部 TCP/IP 支持修改服务的状态。

语法

警告系统命令功能强大,可提供有关系统状态的信息,并允许对系统进行更改。 系统命令只能由授权应用程序和用户使用。

通过指定 XCMD 系统初始化参数并确保事务的命令安全检查处于激活状态(在 TRANSACTION 资源定义中指定 CMDSEC(YES) 或在 CMDSEC 系统初始化参数中指定 ALWAYS),激活命令安全检查。

SET TCPIPSERVICE

读取语法图跳过可视语法图SET TCPIPSERVICE( data-value)BACKLOG(data-area )MAXDATALEN( data-area)OPENSTATUS(CVDA)CLOSEDIMMCLOSEOPENURM(data-value)

条件:INVREQ、NOTAUTH 和 NOTFND

NOHANDLE, RESP, 和 RESP2 是可以添加到所有 EXEC CICS 命令中的常用选项,用于处理错误条件。 命令语法图和选项说明中没有明确包含这些选项。 有关这些常用选项和 EXEC CICS 命令语法的信息,请参阅 EXEC CICS 命令格式和编程注意事项. 有关使用 CVDA 的更多信息,请参阅 CICS-值数据区 (CVDA)

此命令是线程安全的。

描述

SET TCPIPSERVICE 指示 CICS 开始或停止侦听与使用 CICS 内部 TCP/IP 支持的服务相关联的端口上的入局请求,并更改该服务的属性。

注: 此命令对 TCP/IP for CICS 套接字功能部件提供的套接字支持没有影响。

要更改已定义并安装在 CICS 束中的 TCPIPSERVICE 资源的状态,请启用或禁用 CICS 束。 如果已禁用 CICS 束,但该服务尚未关闭,那么可以针对动态生成的资源发出 SET TCPIPSERVICE IMMCLOSE 命令以立即关闭该服务。

要修改已定义并安装在 CICS 捆绑程序中的 TCPIPSERVICE 资源的属性,请使用 CICS Explorer® 中的资源编辑器修改 CICS 捆绑程序中的定义,并安装新版本的 CICS 捆绑程序或与之一起部署的应用程序。 要更新定义,请按照.NET Framework 2.0 中的说明,用新版本替换 CICS bundle 的旧版本。
  • 可以单独更新单独部署或使用平台部署的 CICS 束。
  • 如果 CICS 束是作为应用程序的一部分或通过应用程序绑定进行部署,请更新整个应用程序。
您可以使用 SET TCPIPSERVICE 命令来更改动态生成的资源的属性,但不会对这些更改进行编目,也不会在 CICS的热重新启动过程中恢复这些更改。

选项

BACKLOG (数据区)
更改可以在 TCP/IP 中排队等待服务处理的请求的最大数目。 必须先关闭服务,然后才能更改此值。 如果 BACKLOG 的值小于 TCP/IP 属性 SOMAXCONN 的值,那么将使用 BACKLOG 属性指定的积压值打开 TCPIPSERVICE。 如果 BACKLOG 的值大于 SOMAXCONN,那么将使用 SOMAXCONN 指定的积压值打开 TCPIPSERVICE。 值为零表示使用 SOMAXCONN 指定的积压值打开 TCPIPService。
更改可以在 TCP/IP 中排队等待服务处理的请求的最大数目。 必须先关闭服务,然后才能更改此值。 如果将 BACKLOG 设置为零,那么 CICS 不会接收任何连接。 如果 BACKLOG 的值大于 SOMAXCONN 的 TCP/IP 配置值,那么 TCP/IP 将使用由 SOMAXCONN 属性指定的值。
如果启用了 HTTP性能调整,当 CICS 处于最大容量时,所有入站 HTTP打开请求将在TCPIPSERVICE侦听连接的积压队列中排队, CICS。 请确保 BACKLOG 值足够大,因为当此队列已满时将拒绝连接请求。 要查看监听连接正在使用的积压值,请使用 CICS TCP/IP 服务:资源统计 ,或使用 NETSTAT ALL 命令获取有关本地主机状态的信息,其中包括监听连接的积压信息。

当正在使用连接均衡时,积压队列的深度包含在确定最适合的侦听器的处理中,因此请考虑共享端口的 CICS 区域上所有 TCPIPSERVICEs 的 BACKLOG 属性。

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。