目前我们在9020端口上接收来自客户端的消息。该客户端在其端使用端口交换,有时我们会以多个"established"结束;一个端口上的连接-所有连接都具有不同的远程端口。我们可以手动结束每个已建立的连接,我们的作业将在几秒钟后再次连接。我们还可以为列出的每个远程端口运行ENDTCPCNN。我们正在寻找一种方法,以编程方式查看是否有多个远程端口连接到本地端口,如果有,则结束已建立的连接(同时使侦听器运行)。有人知道有什么方法可以得到这个信息吗?
要回答您的问题,假设您使用的是受支持的操作系统版本,请查看QSYS2。NETSTAT_INFO SQL视图。
select local_port, remote_port, protocol, tcp_state, idle_time, network_connection_type
from qsys2.netstat_info
where local_port = 9020;
否则,你需要自己使用列表网络连接和检索网络连接数据api。
但是你确定你需要这样做吗?听起来客户端正在打开连接以便重用。这对性能来说是件好事。您的服务器代码应该自动超时并关闭空闲连接。