половину даных, когда увиличиваю обем
socket_read($socket, 2024) получаю чуть больше даных но всеравно не все. При дальнейшем увелечении байт даные только частично получаю.
Что не так делаю? как правильно получить весь обем даных передаваемым сокетом?
в цикл заверни и читай пока данные приходят, как только данные кончились отдавай дальше на обработку, это же как читать файл построчно
while (($data = socket_read($socket, 1024)) !== false) { $response .= $data; } Делал так, цикл висит до бесконечности
почему false, а не например пустая строка, я точно не подскажу, я пытаюсь предположить что там может быть
while (($data = socket_read($socket, 1024)) !== ' ') { $response .= $data; } также висит
Спасибо за помощь, разобрался нужно было сделать так while (($data = socket_read($socket, 1024)) !== false) { $response .= $data; if (strpos($response, " ") !== false) { break; } }
Обсуждают сегодня