【问题标题】:My PHP script can't connect to an IRC server我的 PHP 脚本无法连接到 IRC 服务器
【发布时间】:2013-02-04 05:47:28
【问题描述】:

我终其一生都无法弄清楚我做错了什么。我正在使用$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) {

}
?>

感谢您的任何回复。

【问题讨论】:

    标签: php sockets irc fsockopen


    【解决方案1】:
    $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 总是使用内置的错误函数/全局变量/返回值。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2014-10-16
      • 2016-10-13
      • 2023-03-25
      • 1970-01-01
      • 1970-01-01
      • 2023-01-12
      • 2012-10-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多