Я пытаюсь подключиться к API, который поддерживает соединение и отправляет фрагментированные данные.
У меня есть решение, которое использует fsockopen, который пишет и читает поток и использует while(!$stream->eof())
,
Мне интересно, могу ли я использовать Guzzle для достижения того же результата?
Я видел метод Async, но некоторые могут показать мне, как ждать потока?
Поддержка Guzzle 6+ ПРС-7, который определяет тело ответа как поток. Вы можете запрашивать данные синхронно или асинхронно, это не имеет значения.
Также важно установить stream
вариант По вашему запросу:
$client = new Client(/* ... */);
$response = $client->get('http://some.url/', ['stream' => true]);
$bodyStream = $response->getBody();
while (!$bodyStream->eof()) {
echo $bodyStream->read(1024);
}
Других решений пока нет …