Я должен написать скрипт PHP, который работает как клиент против другого HTTP-сервера.Этот сервер игнорирует заголовок HTTP Connection: Close и сохраняет TCP-соединение открытым, если оно не закрыто клиентом.И вот моя дилемма.Я (клиент) должен решить, когда закончился HTTP-запрос / ответ, а затем закрыть соединение.Просто используйте:
$ data = file_get_contents ($ url);
.. не будет работать, так как file_get_contents возвращается только в случае тайм-аута соединения (по умолчанию 30 секунд)достиг.
Поэтому мне нужно написать свой собственный цикл чтения - вот так (псевдокод):
$sock = fsockopen(...);
$data = '';
while($line = fgets($sock)) {
$data .= $line;
if(http_package_recieved()) {
break;
}
}
К сожалению, в ответе нет заголовка Content-Length.У меня вопрос, как должна выглядеть функция
http_package_recieved()
...
Приветствует Торстена