Php 流\u套接字\u客户端、超时和控制
我有以下PHP代码:Php 流\u套接字\u客户端、超时和控制,php,sockets,timeout,stream-socket-client,Php,Sockets,Timeout,Stream Socket Client,我有以下PHP代码: $fp = stream_socket_client('ssl://gateway.sandbox.push.apple.com:2195', $err, $errstr, 60, STREAM_CLIENT_CONNECT, $ctx); “60”是连接的超时。 就在那一行之后,我有: if (!$fp) {...} 现在:在执行大括号内的代码之前,此行是否会等待超时时间?大括号内的代码将在调用stream\u socket\u client()返回后执行。它将以三种
$fp = stream_socket_client('ssl://gateway.sandbox.push.apple.com:2195', $err, $errstr, 60, STREAM_CLIENT_CONNECT, $ctx);
“60”是连接的超时。
就在那一行之后,我有:
if (!$fp) {...}
现在:在执行大括号内的代码之前,此行是否会等待超时时间?大括号内的代码将在调用
stream\u socket\u client()
返回后执行。它将以三种方式之一返回:
- 连接成功(返回套接字)
- 连接显式失败-即服务器拒绝或重置连接
- 连接隐式失败,即超时
1实际上,您可以通过
STREAM\u socket\u CLIENT()
的STREAM\u CLIENT\u ASYNC\u connect
标志以非阻塞方式执行连接操作。使用此标志时,必须使用stream\u select()
确定套接字是否连接/何时连接。它将等待连接,但最多60秒