Re[13]: Максимальная длина TCP пакета в сети
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 11.02.20 07:22
Оценка:
Здравствуйте, AlexGin, Вы писали:

Pzz>>Не надо при проектировании framing'а полагаться на то, что фреймы эти будут использоваться строго в режиме вопрос-ответ. Ничего особо не выигрываешь, а лишь смешиваешь два логически не связанных уровня. О чем потом и пожалеешь.

AG>Ну OK — чтобы заполнить канал передачи, помимо диалога Server-Client будем передавать фильмы.
AG>Или торрент-сеть организуем
AG>Вот не знаю — что выбрать?

Не надо заполнять посторонними данными. Но и в прямом применении может оказаться необходимо:
1. Посылать несколько запросов от клиента сразу, чтобы, пока они ползут по сети, сервер мог их отрабатывать. Обычно это называется pipelining.
2. Делать, что сервер отвечает на один запрос несколькими ответами — например, сначала "принял, исполняю", потом "прогресс 50%, полёт нормальный", потом "завершил, вот финальные результаты", с интервалом в минуты между ответами. В таком случае нужно ожидать ответов сервера в произвольные моменты и давать сообщениям теги, связывая ответы с запросами.
3. Передавать внеочередные нотификации с каждой стороны о каких-то важных изменениях или о том, на что другая подписалась.
4. Уравнять роли клиента и сервера — два равноправных участника что-то делают и могут начать новые действия в любой момент.

Если что-то из этого может происходить — потребуется или менять протокол, или заранее подготовить его к такому расширению.

Pzz>>Я даже не о пропускной способности канала сейчас говорю, а о логической целостности твоего протокола.

AG>Мой протокол — это "разговор" двух человек аппаратно-программных сущностей: сервер и клиент...
AG>Что предлагается как альтернатива диалогу — передача "пустого" space-holder-а, пока требуемого контента не насобиралось?

См. выше.
The God is real, unless declared integer.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.