RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : Ответить на сообщение
Имя:
e-mail:
FIDO:
Home page:
сохранить данные о вас
Тема:
> > > Беда в том, что в одном tcp пакете обнаружено несколько сообщений от прикладной программы (ПО), тогда как по хорошему, каждое сообщение от ПО должно быть в своем отдельном tcp пакете. В моем случаи, при кратковременной потере связи, сообщения от ПО оказываются в одном tcp пакете. Как заверяют производители ПО, происходит буферизация сообщений на tcp/ip стеке. Вопрос, такое суммирование/складывание сообщений на уровне tcp/ip стека возможно или нет? Если да, то как это работает? > > > > > > > --- грубые выражения ON --- > > передайте пожалуйста своим друзьям-криворучкам, что надо _читать_ документацию > > и _думать_, прежде чем писать сетевые программы. > > --- грубые выражения OFF --- > > > > TCP/IP - потоковый протокол. в нем никто не гарантирует, что куски данных, > > посланные целиком приходят к получателю именно в таком нарезанном виде. > > они могут быть побиты и перерезаны на куски других размеров на любом роутере > > через который проходят. > > > > кстати лет как с 8-10 назад очень многие коллеги ваших коллег тоже напарывались > > на данные проблемы - так разные версии разных тогдашних почтовых майлеров - оутлук, > > нетскапе, пммайл (кажется тхе бат тогда еще не было) - по разному реагировали > > на ответы разных почтовых серверов. некоторые вначале писали строку - одной tcp-пасылькой, потом слали перевод строки, некоторые еще иначе били строку на части при ответах, так вот - многие майлеры очень обижались на разные эти вариации ;) > > > > впрочем с той поры многие поумнели ;) > > > > > > Поясню мою проблему несколько иначе. > > Схема выглядит следующим образом: > > HOST1 \ > - HUB - HOST2 > NetMonitor / > > Кроме NetMonitor (им смотрим весь tcp/ip трафик) включены логи на обоих хостах на прикладном уровне. Обмен данными происходит успешно, что фиксируется и в логах, и NetMonitor. > > Теперь разрываем связь между HUB и HOST2 и смотрим лог HOST1 и NetMonitor. > > HOST1: отправлен message1 size 100; > NetMonitor: HOST1 отправил tcp пакет на HOST2 содержащий message1 size 100; > Так как связь разорвана, HOST1 не получил ответа от HOST2 и повторяет данное сообщение > HOST1: отправлен message1 size 100 (повтор); > NetMonitor: HOST1 отправил tcp пакет на HOST2 содержащий message1 size 100 и еще один message1 size 100; > > Timeout между первым пакетом и повтором (HOST1 message1) составляет 10 секунд. > > Как на ваш взгляд, где "собака зарыта"? > > ну а самое главное на какую документацию нужно ссылаться в "перегаворах" с производителями ПО для HOST1? > > >
_, _, _, _, _ _, _,_
(_ | / \ |\ | / \ |_/
, ) | , \ / | \| \ / | \
~ ~~~ ~ ~ ~ ~ ~ ~
Programmed by
Dmitri Maximovich
,
Dmitry I. Platonoff
,
Eugen Kuleshov
.
25.09.99 (c) 1999,
RU/2
. All rights reserved.
Rewritten by
Dmitry Ban
. All rights ignored.