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

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

Протокол обмена между клиентом и сервером


Страницы:   1 2 3 4 5 6

Gek1 ©   (2005-05-18 18:30:00) 

Имееться ClientSocket, работающий в неблокирующим режиме.
Протокол обмена устроен так, что пакеты уходящие от сервера сжимаются алгоритмом Хаффмана. Каждый пакет имеет разную длинну.

Как известно - по пути пакеты могут резаться и склеиватся. Но получается что расжатый Хаффманом кусок пакета даст совсем другие данные. Практически всегда эти первая часть данных будет не поврежденна, что даст мне понять что за пакет идет и я смогу дождатся пока прийдет его полная длинна.

Но иногда рассжатый кусочек пакета настолько искажается, что мой алгоритм дает збои.

Сам протокол обмена я поменять не могу. Он придуман не мною и очень давно. Сервер тоже написан не мною. Я написал всего лишь клиент для сервера.

Возникает вопрос:
Можно ли всетаки как-то узнать длинну целого пакета, который отправлял сервер?

Мастера, подскажите пожалуйста что можно сделать в данной ситуации?

P.S. если понадобится код - приведу.


Digitman   (2005-05-19 08:11:00) [101]


> Как известно - по пути пакеты могут резаться и склеиватся


тебя это заботить никак не должно

ТСР - протокол с гарантированной доставкой : поток данных, отправляемый передатчиком, гарантированно доставляется приемнику точно в той же последовательности, в какой он формируется на передающей стороне.


> работающий в неблокирующим режиме


есть подозрение, что у тебя ошибки в алгоритме клиента


Polevi   (2005-05-18 20:08:00) [102]

стоп, не внимательно прочел
если данные отправляет сервер, тогда сервис должен работать на стороне сервера и подключаться к серверу надо через него


Polevi   (2005-05-18 20:05:00) [103]

напиши промежуточный сервис-прокси, отправляй данне через него
к каждому приходящему пакету прилепляй размер и отправляй куда надо


Страницы:   1 2 3 4 5 6

Наверх

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