1

我有一个连接到 irc 服务器并在连接期间发送一些命令的套接字。

看起来像这样:

        $socket = @fsockopen(IRCIP, IRCPORT, $errno, $errstr, IMEOUT);
    stream_set_timeout($socket, TIMEOUT);
        fputs($socket, "SVSLIST\n");

但这需要一点时间(大多数情况下,0.5 秒,但有时最多 1.5 秒)更不用说 php 脚本和 irc 服务器都在同一台机器上工作。

所以我想问我怎样才能加快这个过程?我正在使用具有不同机制的readfile(在该irc服务器中构建一个httpd服务器作为模块并重定向readfile以进行查询)来做到这一点,它非常快..有没有办法提高速度?谢谢。

4

1 回答 1

0

fsockopen() 的最后一个参数是超时时间,将其设置为较低的值可以使脚本更快地完成,如下所示:

$socket = @fsockopen(IRCIP, IRCPORT, $errno, $errstr, 0.1);

另外......你必须知道这段代码:

$socket = fsockopen('www.mysite.com', 80);

比:

$socket = fsockopen(gethostbyname('www.mysite.com'=, 80);

最后一件事...如果您的脚本必须在 IRC 服务器的同一台机器上本地运行,只需使用 127.0.0.1 连接而不是机器公共 IP 地址。

于 2013-01-20T00:19:30.517 回答