Цитата:
nezabudkin, в случаях большой нагрузки на серв или канал или ещё чего ибо протокол TCP потоковый и заботится только о том чтобы данные приходили полностью, в правильном порядке, но разбивать их на порции может как угодно при необходимости, а определять что пакет пришел в одной порции не полный смысла нет ибо работать надо с потоком извлекая из него пакеты по мере поступления исходя из их размера в первых двух байтах...
|
Кстати, я пока шел домой еще один вариантик присмотрел
шейпер стоящий на прове/на проксике в конторе/гденить на маршруте сервер-клиент
может такое выдавать.
резать скажем по принципу не более чем ххкб/сек
лишку совать себе в буффер и ждать следующей секунды чтобы ее отправить.
в лишку может попасть "пол пакета"...
nezabudkin, а, не обращай внимания, убрал с билда, дабы не пугались -)
Добавлено через 4 минуты
xkor, кстати, довольно просто это и в ньюксор предусмотреть, тот же временный буфер, в который суеться все что приходит в PreDecrypt
далее производиться попытка расшифровать этот буффер (достаточно сделать декрипт первых 2х байтов, если длинны буфера достаточно (или она больше либо равна ворду лежащему в первых 2х байтах) то с временного буфера извлекается эта часть и декриптуеться и отсылается дальше по цепочке (если в временном буфере чтото осталось - эта операция повторяется)
если в буфере данных недостаточно мы просто ждем прихода следующего пакета и соответственно вызова PreDecrypt который сунет полученый кусов в конец временного буфера, и опять по кругу.