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