Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 14, 2015 11:35:25

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9894
Репутация: +  854  -
Профиль   Отправить e-mail  

Обнуления буфера

sonchess2000
Получается, что все сообщения, которые не успевают читаться заносятся в список и потом сбрасываются после команды recv()?
Для простого сброса в списке нет необходимости. Список не даёт их потерять, поэтому то, что сбрасывается, можно занести в журнал какой-нибудь.



Офлайн

#2 Янв. 14, 2015 11:48:23

sonchess2000
Зарегистрирован: 2015-01-10
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Обнуления буфера

py.user.next
Таким образом в Питоне только два метода сброса : recv() и sys.stdin.flush()?

Офлайн

#3 Янв. 15, 2015 00:47:16

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9894
Репутация: +  854  -
Профиль   Отправить e-mail  

Обнуления буфера

sonchess2000
Таким образом в Питоне только два метода сброса
Возможно, сокету можно как-то указать, чтобы он сбросил накопившееся. Я просто не искал особо, так как можно увязнуть надолго и при этом ничего не найти.

sonchess2000
recv() и sys.stdin.flush()?
Надо понимать, что recv() и sys.stdout работают с разными объектами операционной системы. Поэтому и то, как они реализованы, может сильно отличаться.
Очевидно, что recv() различает разные сообщения и может их извлекать по отдельности, тогда как в буфере файлового потока разные записи не различаются. Так что нельзя их приравнивать.



Офлайн

#4 Янв. 15, 2015 07:24:57

sonchess2000
Зарегистрирован: 2015-01-10
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Обнуления буфера

py.user.next
Вот теперь понятно полностью, благодарю.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version