Форум сайта python.su
0
есть скрипт пхп, который отдает данные в бесконечном потоке
как правильно их считывать?
счас сделал так
uri = 'путь к скрипту'
r = urlopen(uri)
while True:
text += r.read(1).decode(r.headers.get_content_charset())
Офлайн
0
up
будут идеи?
Офлайн
221
с таким описанием видимо ни у кого нет, кроме как бесконечный пото считать нельзя потому что он бесконечный. Но это скорее что то из философии
Офлайн
0
пока данные есть- мы их считываем, когда данных нет -тогда ждем
а как сетевые программы работают? происходит соединение, затем пришли данные- их обработали, и дальше waiting
Отредактировано habrman (Июль 11, 2019 16:04:31)
Офлайн
221
Тогда объясните что значит “правильно считывать”, какие у вас конкретные вопросы или проблемы?
Офлайн
0
конкретный вопрос в первом сообщении
Офлайн
568
habrmanЧто в нем конкретного то?
конкретный вопрос в первом сообщении
Офлайн
0
код работает но мне не нравится, что постоянно идет попытка чтения 1 байта, даже когда нет данных
может есть возможность читать только когда приходят данные?
например подписаться на событие прихода данных
Офлайн
253
habrmanНалицо непонимание как это работает. При вызове r.read(1) питон перестает работать. Операционная система передает ему управление как только получает данные по сети. Вовсе не обязательно читать по 1 байту можете и больше куски сделать.
что постоянно идет попытка чтения 1 байта
Офлайн
857
habrmanПротокол HTTP так не работает. urlopen() - это функция для работы по HTTP-протоколу. Есть запрос, есть ответ, всё это ограничено размером данных.
есть скрипт пхп, который отдает данные в бесконечном потоке
как правильно их считывать?
счас сделал такuri = 'путь к скрипту' r = urlopen(uri) while True: text += r.read(1).decode(r.headers.get_content_charset())
Отредактировано py.user.next (Июль 12, 2019 04:58:48)
Офлайн