$ping=fsockopen($ip, 80, $errno, $errstr, 30);
我正在使用上面的代码ping一些设备。
使用命令行或在我的localhost上运行代码时,设备无法应答;这是预期的,因为设备无法发送任何包。
但是,当我在www服务器上运行代码时,fsockopen()返回TRUE。
你有什么想法为什么会这样?或者我如何检查设备是否发送了一些数据包作为响应。我知道fsockopen()只检查连接。
答案 0 :(得分:0)
根据documentation,fsockopen()
会打开一个连接,并在成功时返回resource
(而不是TRUE
)。
有许多原因导致它无法在您的本地计算机上运行。我可以考虑一下,但是你可以通过在失败的调用返回后检查$errno
和$errstr
变量的值来找到确切的原因。