alpes
Весь мир на ладони
Сокеты и timeout
Как правильно ограничиться от подвисания приложения, если удаленный сервер упадет или станет не доступным?
У меня этот пример в среднем дуплит 40 секунд на fsockopen...
Может это из-за сейфмоды?
И если да то как это обойти при данном режиме?
Как правильно ограничиться от подвисания приложения, если удаленный сервер упадет или станет не доступным?
PHP:
# Например такой пример с не существующим хостом:
$cfgServer = "website.kiev.ua";
$cfgPort = 80;
$cfgTimeOut = 2; // столько секунд должно пробовать соединиться
$get="GET / HTTP/1.0\r\nHost: ".$cfgServer."\r\n\r\n";
$t=time();
$sd=fsockopen($cfgServer, $cfgPort, &$errno, &$errstr, $cfgTimeOut);
if($sd) {echo "Ok!"; fclose($sd);}
else echo "Fsockopen failed.<br>\nTimeopen: ".(time()-$t)."<br>\n(".$errno.") ".$errstr."<br>\n";
Может это из-за сейфмоды?
И если да то как это обойти при данном режиме?