首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检查服务fsockopen()

检查服务fsockopen()
EN

Stack Overflow用户
提问于 2013-02-28 23:21:38
回答 1查看 6.1K关注 0票数 1

我正在检查9998端口的服务。为此,我使用了fsockopen()函数。

如下所示:

代码语言:javascript
复制
$host = "1.1.1.1";
$port = "9998";
$checkconn = fsockopen($host, $port, $errno, $errstr, 1);
if($checkconn >= 1){
echo 'ok';
} else {
echo "$errstr";
}

它总是返回"Connection 110",但是端口是打开的,并且有服务在那里运行。

如果我更改了端口(比如80),它就会返回成功,但是为什么不是在9998端口上呢?

EN

回答 1

Stack Overflow用户

发布于 2013-03-01 05:33:46

1秒的连接超时时间不是很长。即使主机/端口有效,网络延迟也足以触发该延迟。我建议至少用2.5到5秒来代替。

另外,您应该检查fsockopen()的结果是否为FALSE,而不是< 1,以了解它何时失败。

试试这个:

代码语言:javascript
复制
$host = "1.1.1.1";
$port = "9998";
$checkconn = fsockopen($host, $port, $errno, $errstr, 5);
if(!$checkconn){
    echo "($errno) $errstr";
} else {
    echo 'ok';
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15147614

复制
相关文章

相似问题

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