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

主机的结果:OGN2.OnlineGamesNet.net 是 ogn2.ogamenet.net 的别名。ogn2.ogamenet.net 地址为 79.110.87.154 - traceroute:traceroute 到 79.110.87.154 (79.110.87.154),最大 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 回答