0

特定のIPとポートにpingを実行して、オンラインかオフラインかを確認しようとしています。ポートを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. )
4

1 に答える 1

0

ポートを80に設定すると機能しますが、他のポートでは機能しないと表示されます。

これにより、ファイアウォールの問題(生成側または受信側のいずれか)のように見えます。

このコードが実行されているサーバーが、制限された範囲のポートを除いて、すべての通信を許可していることを確認しますか?ポート25、81、110、443、8080はどうですか?

于 2012-10-03T19:16:12.030 に答える