首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >加速fsockopen

加速fsockopen
EN

Stack Overflow用户
提问于 2013-01-20 08:06:43
回答 1查看 1.7K关注 0票数 1

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

看起来是这样的:

代码语言:javascript
复制
        $socket = @fsockopen(IRCIP, IRCPORT, $errno, $errstr, IMEOUT);
    stream_set_timeout($socket, TIMEOUT);
        fputs($socket, "SVSLIST\n");

但是它花费的时间有点长(大部分时间是0.5秒,但有时长达1.5秒),更不用说php脚本和irc服务器在同一台机器上工作了。

所以我想问一下,我怎样才能加速这个过程呢?我使用具有不同机制的readfile (构建一个httpd服务器作为irc服务器中的模块,然后重定向readfile以执行查询)来完成此操作,速度相当快。有没有办法提高速度?谢谢。

EN

回答 1

Stack Overflow用户

发布于 2013-01-20 08:19:31

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

代码语言:javascript
复制
$socket = @fsockopen(IRCIP, IRCPORT, $errno, $errstr, 0.1);

还有..。你必须知道这段代码:

代码语言:javascript
复制
$socket = fsockopen('www.mysite.com', 80);

比下面的要慢得多:

代码语言:javascript
复制
$socket = fsockopen(gethostbyname('www.mysite.com'=, 80);

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14420308

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档