加快fsockopen

时间:2013-01-20 00:06:43

标签: php performance sockets irc fsockopen

我有一个连接到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服务器作为模块并重定向读取文件以进行查询)来做到这一点,它非常快..有没有办法提高速度? 感谢。

1 个答案:

答案 0 :(得分: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地址。