$v1['ip'] = $url;
为什么以下工作不起作用?
$sock = @stream_socket_client('tcp://'.$v1['ip'].':25565'. $errno, $errstr, 1);
但是这个:
$sock = @stream_socket_client('tcp://'.$v1['ip'].':25565'. $errno, $errstr);
和此:
$sock = @stream_socket_client('tcp://'.$url.':'.$port, $errno, $errstr, 1);
什么是默认超时?
答案 0 :(得分:4)
在第一个示例中,您将远程套接字与错误编号连接在一起,因此$errstr
实际上是错误编号,1
是错误字符串。 PHP无法分配给1
,因此调用失败。
要查找默认超时,请查看stream_socket_client()
的文档。在函数签名中,您可以看到$timeout
参数默认为ini_get("default_socket_timeout")
返回的float,因此您所要做的就是回显或查看PHP配置,并且您具有默认超时。