2012-10-14 63 views
0

2年前,它的工作,現在發射了一些annyoing錯誤,我無法找到它的答案爲什麼doesnst工作:PHP IRC BOT不會連接

$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, 

(有更多的陣列中它是閉合correcty) 和錯誤我得到:

警告:socket_connect()並[f unction.socket-連接]:無法連接[110]:連接在/home/patrick/domains/xxxx/public_html/muts/bot.php超時上線225 插座誤差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字節的數據包爲

+0

連接超時=無法到達服務器,或者它不理你。例如你已經被防火牆擋住了。 –

+0

您是否對本地IRC服務器進行過測試,以確保它實際上是您的代碼,而不是您程序的外部? –

+0

服務器處於活動狀態,端口工作原因當我連接與mirc使用相同的設置它的作用,telnet相同,以便不存在問題 –

回答

1

這個錯誤指向的是外部的東西,除了你的代碼 - 特別是如果它早先工作。

檢查您的防火牆設置和套接字端口,並確認您正在連接的服務器處於活動狀態。

+0

服務器處於活動狀態,並且端口工作原因當我連接與mirc具有相同的設置它工作,同樣的telnet,以便不出現問題 –

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 
+0

與額外error_reporting沒有別的出現,我沒有SSH訪問,所以我不能測試.. –

+0

甚至沒有與系統(「主機OGN2.OnlineGamesNet.net」)'等從一個PHP腳本? –

+0

主機的結果: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字節的數據包 –