我一直在尝试ping特定的IP和端口,以检查它是在线还是离线。如果我将端口设置为80,它可以工作,但任何其他端口,它说它不起作用。我可以通过游戏,telnet等连接到端口
//Connection Info
$ip = "*******"; //IP
$port = "2302"; //Port
//Connection
$sock = @fsockopen( $ip, $port, $num, $error, 2 ); //2 is the ping time, you can sub what you need
//Check Status
if( !$sock ){
//Closed
echo( "It appears to be closed" );
}
if( $sock ){
//Open
echo( "It appears to be open" );
fclose($sock);
}
这是我得到的错误
Warning: fsockopen() [function.fsockopen]: unable to connect to *******:2302 (No connection could be made because the target machine actively refused it. )
答案 0 :(得分:0)
如果我将端口设置为80,它可以正常工作,但任何其他端口都认为它不起作用。
这使它看起来非常像防火墙问题(无论是在生成端还是在接收端)。
除了限制范围的端口外,您确定运行此代码的服务器是否允许任何通信?端口25,81,110,443和8080怎么样?