首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >何时fsockopen中的超时不可用?

问何时fsockopen中的超时不可用?
EN

Stack Overflow用户
提问于 2016-06-16 11:14:22
回答 1查看 486关注 0票数 1

我正在从本地one服务器(arch,php7)向远程one服务器提出请求,这是不可用的,因为网络是无法到达的。在这里,超时似乎被忽略了(也就是说,fsockopen大约需要23秒才能返回,而不是给定的5秒超时)。

代码语言:javascript
复制
$timeout = 5;
$start = time();
dbglog($start . ' timeout ' . $timeout); // 1466081215 timeout 5
$socket = fsockopen($server,$port,$errno, $errstr, $timeout);
$end = time();
dbglog($end . ' socket done in ' . ($end-$start) . ' seconds'); // 1466081238 socket done in 23 seconds

官方doku为fsockopen声明如下:

Note: 根据环境的不同,Unix域或可选的连接超时可能不可用。

然而,这就是无法使用可选超时的环境的全部内容。

我在哪里可以找到这个问题的当前文档?

EN

回答 1

Stack Overflow用户

发布于 2016-06-16 11:28:34

这取决于套接字类型。对于本地unix套接字来说,超时没有多大意义,因为所有事情都发生在<-内核->进程中。中间没有未知的网络。所以要么失败要么成功。但是它所花费的时间取决于服务器负载。

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

https://stackoverflow.com/questions/37857532

复制
相关文章

相似问题

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