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字节数据包
答案 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