PHP IRC BOT不会连接

时间:2012-10-14 08:58:10

标签: php sockets connect bots irc

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进行相同的连接设置 - 它正在运行一个网络服务器(外部而非本地计算机)

主持人的结果:OGN2.OnlineGamesNet.net是ogn2.ogamenet.net的别名。 ogn2.ogamenet.net的地址为79.110.87.154 - traceroute:traceroute to 79.110.87.154(79.110.87.154),最大30跳,40字节数据包

2 个答案:

答案 0 :(得分:1)

除了您的代码之外,该错误指向外部的东西 - 特别是如果它之前有效。

检查防火墙设置和套接字端口,以及您要连接的服务器是否处于活动状态。

答案 1 :(得分: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