1

我一生都无法弄清楚我做错了什么。我正在$sock = fsockopen("irc.esper.net", 6667)尝试连接到服务器。我也尝试过使用端口 5555 并使用服务器名称 opening.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) {

}
?>

感谢您的任何回复。

4

2 回答 2

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.

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

于 2013-02-19T14:52:44.580 回答
0

您需要将防火墙设置为允许我期望的 6667 端口。

于 2014-07-03T02:56:41.407 回答