我的PHP脚本无法连接到IRC服务器

时间:2013-02-19 13:58:04

标签: php sockets irc fsockopen

我不能为我的生活弄清楚我做错了什么。我正在使用$sock = fsockopen("irc.esper.net", 6667)尝试连接到服务器。我还尝试使用端口5555并使用服务器名称aperture.esper.net。所有这些都因超时或网络无法访问错误而失败(检查日志)。整个代码在这里:

<?php

set_time_limit(0);

$sock = fsockopen("irc.ipv6.esper.net", 6667);

echo("Joined");

if (!$sock) {
    exit(1);
}

fputs($sock, "USER kodas2_ :kodas2_");
fputs($sock, "NICK h1a2r\r\n");
fputs($sock, "JOIN #minecraft\r\n");

while (true) {

}
?>

感谢您的回复。

2 个答案:

答案 0 :(得分:3)

$sock =@ fsockopen("irc.esper.net", 6667, $errno, $errstr, 30);
if ($sock) {
    printf("No error, go on.");
}

说:No error, go on.

$sock =@ fsockopen("irc.ipv6.esper.net", 6667, $errno, $errstr, 30);
if (!$sock) {
    printf("errno: %s, errstr: %s", $errno, $errstr);
}

说:errno: 0, errstr: php_network_getaddresses: getaddrinfo failed: No such host is known.

因此,请先检查您的主机是否有效。

答案 1 :(得分:0)

您需要将防火墙设置为允许6667个端口。