0

2年前は機能していましたが、今ではいくつかの厄介なエラーが発生し、機能しない理由に対する答えが見つかりません。

$this->BotSocket = socket_create(AF_INET,SOCK_STREAM,SOL_TCP);
    if (!$this->BotSocket) {
        die('Socket error1 : '.socket_strerror(socket_last_error()));
    }
    /**
     * Bind the socket to make it irc'able 
     */

    if(!socket_bind($this->BotSocket, $this->BotConfig['hostname'])) { 
        die('Socket error2 : '.socket_strerror(socket_last_error()));
    }


    if(!socket_connect($this->BotSocket, $this->BotConfig['server'], $this->BotConfig['port'])) { 
        die('Socket error3 : '.socket_strerror(socket_last_error()));
    }

および接続文字列:

        $this->BotConfig = array(

        /**
         * Bot configuration for information
         */

        'nickname' => 'Muts',
        'realname' => 'Vii personal funbot',
        'ident'    => 'Muts',

        /**
         * Bot server configration
         */

        'hostname' => 0,
        'server'   => 'OGN2.OnlineGamesNet.net',
        'port'     => 6667,

(配列にはもっと多くのものがあり、正しく閉じられています)そして私が得るエラー:

警告:socket_connect()[function.socket-connect]:接続できません[110]:225行目の/home/patrick/domains/xxxx/public_html/muts/bot.phpで接続がタイムアウトしましたソケットエラー3:接続がタイムアウトしました

誰かがこれで私を助けることができますか?

また注目すべき点:-telnetで同じ接続設定を操作する-mIRCで同じ接続設定を操作する-Webサーバー(ローカルコンピューターではなく外部)を実行している

host:OGN2.OnlineGamesNet.netの結果は、ogn2.ogamenet.netのエイリアスです。ogn2.ogamenet.netのアドレスは79.110.87.154です-traceroute:79.110.87.154(79.110.87.154)へのtraceroute、最大30ホップ、40バイトのパケット

4

2 に答える 2

1

そのエラーは、コード以外の外部のものを指している可能性があります。特に、以前に機能していた場合はそうです。

ファイアウォールの設定とソケットポートを確認し、接続しているサーバーがアクティブであることを確認してください。

于 2012-10-14T09:04:03.207 に答える
1

このコードを PHP ファイルの先頭に追加すると、より詳細なエラー メッセージが表示されます。

error_reporting(E_ALL);
ini_set("display_errors", 1);

SSH アクセスできる場合は、これらを試してください。

DNSの問題?

host OGN2.OnlineGamesNet.net

ルーティングの問題?

traceroute 79.110.87.154

完全な TCP ハンドシェイクを試みる

telnet OGN2.OnlineGamesNet.net 6667
于 2012-10-14T09:28:46.417 に答える