Sutar
BANNED | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Здравствуйте, есть такой кусок клиентской части: Код: $fp = @fsockopen("udp://127.0.0.1"., 20120, $errno, $errstr); if($fp) { $data = array(); while(!feof($fp) and !connection_status()) { $data[] = fread($fp, 1024); // Реальный размер данных примерно 700-800 } var_dump($data); } | я знаю, что сервер отдает мне данные с задержкой в 0.85сек. использую функцию time.sleep(0.85). Такой вопрос, как можно получить все данные? Мой скрипт выше выдает ошибку "<b>Fatal error</b>: Maximum execution time of 30 seconds exceeded in ..." указывая на строку с ошибкой $data[] = fread($fp, 1024); Как это исправить? Чтоб можно было получить все данные от сервера? В тесте, я знаю что передается 4 куска, если написать просто 4 раза строку $data[] = .... без while() то всё работает отлично. Но в другом случае может быть 1-2 кусок или все 30-40. Пробовал такой вариант: Код: $res = ""; while ($line = fgets($fp)) $res .= $line; echo $res; | Но тут 1 проблема, нужно дополнительно отдельно разбивать на массив. | Всего записей: 1150 | Зарегистр. 15-08-2011 | Отправлено: 21:53 07-04-2017 | Исправлено: Sutar, 22:03 07-04-2017 |
|