Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Ограничение на размер пакета


Dust ©   (2001-10-28 01:42:00) 

При попытке пользуясь TCient/ServerSocket отправить большое сообщение ПОТОКОМ (SendStream), начиная с 8Кб больше возникали проблемы - вместо 1-го приходит толпа пакетов. Ограничение естессно разумное, и было обойдено - ручками дописан отправка потока с размером пакетов в 4Кб. Внимание вопрос: как определить верхний предел размера пакета?


Digitman   (2001-10-30 12:38:00) [1]

Да мало того - в дороге еще и местами меняются и на место "приезжают" неодновременно и в произвольном порядке.
Не те пакеты, о которых ты говоришь (их вообще нельзя называть "пакетами"), а - TCP-пакеты

А на месте они снова в исх.поток собираются и по мере сбора заполняют буфер приема гнезда


Anatoly Podgoretsky   (2001-10-29 16:15:00) [2]

И знать это нельзя, пакеты по дороге имеют тенденцию изменяться в размере в обе стороны


Digitman   (2001-10-29 14:45:00) [3]

Системный буфер приема гнезда, по ум-ю, имеет размер как раз 4кб ... Что ты и наблюдаешь .... ни на что это влиять не будет


Dust   (2001-10-28 17:50:00) [4]

Вопрос именно в том - какой пакет для данной системы будет максимальным, т.к. это влияет на быстродействие самого клиента.


Polevi   (2001-10-28 13:01:00) [5]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо