【发布时间】:2013-04-05 05:55:35
【问题描述】:
我需要帮助来检查我的盒子中是否有两个本地端口正在运行,如果是,请打开一个端口。
例如:
DB2 端口:50001 MQ 端口:1414
如果两者都打开,则打开端口 45 进行侦听,如果其中一个未打开,则关闭脚本端口。
我正在运行 AIX 7.1
【问题讨论】:
我需要帮助来检查我的盒子中是否有两个本地端口正在运行,如果是,请打开一个端口。
例如:
DB2 端口:50001 MQ 端口:1414
如果两者都打开,则打开端口 45 进行侦听,如果其中一个未打开,则关闭脚本端口。
我正在运行 AIX 7.1
【问题讨论】:
use Socket;
socket(HSOCK, AF_INET, SOCK_STREAM, getprotobyname('TCP'));
$address = sockaddr_in(50001, inet_aton('0.0.0.0'));
if (! bind(HSOCK, $address)) {
$address = sockaddr_in(1414, inet_aton('0.0.0.0'));
if (! bind(HSOCK, $address)) {
$address = sockaddr_in(45, inet_aton('0.0.0.0'));
bind(HSOCK, $address) or die "bind 45 failed";
listen(HSOCK, 5) or die "listen 45 failed";
. . . # accept / loop
}
}
【讨论】: