CompleteFailure Опубликовано 11 сентября, 2006 · Жалоба Всем привет. :) Я написал сервер на делфи и клиента на J2ME, которые общаются через TCPIP. Каждый пакет идет приблизительно через 20 секунд и судя по тому что показывает снифер на каждый пакет принимающая сторона посылает назад еще один пакет (квитанцию подтверждающую получение пакета и его корректность). При этом трафик увеличивается вдвое. Скажите, пожалуйста, возможно ли в таких условиях уменьшить количество подтверждающих пакетов (например, одна квитанция на пять отправленных пакетов) и если да, то как? Может быть в TCP пакете в разделе TCP options есть какой-то параметр, который отвечает за количество квитанций? Или это делается в настройках сокета сервера (клиента)? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
ram_scan Опубликовано 11 сентября, 2006 · Жалоба Не порти нормальный протокол дебильными извращениями и мутными умственными изысками. Реализуй по UDP и отправляй подтверждения когда надо и на сколько надо пакетов. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
GateKeeper Опубликовано 11 сентября, 2006 · Жалоба Ник говорящий Ж). По сути: сообщения, которыми обмениваются клиент-сервер настолько малы, что укладываются в заголовок пакета? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
CompleteFailure Опубликовано 11 сентября, 2006 · Жалоба :) GateKeeper, в каждом пакете 12 байт нужной информации. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
GateKeeper Опубликовано 11 сентября, 2006 · Жалоба Тяжело... ну а правда - что б не почитать про IP и одни из самых распространенных из них TCP и UDP? Ну и понять разницу... Ну и сделать выводы... Ну и в дальнейшем таких вопросов не задавать... Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
CompleteFailure Опубликовано 11 сентября, 2006 · Жалоба Я знаю разницу. :) Я просто думал, что количество квитанций в TCPIP можно уменьшить. Придется видимо переделывать под UDP. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Shiva Опубликовано 11 сентября, 2006 · Жалоба Старая песня о главном. TCP/IP. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
zyxman Опубликовано 13 сентября, 2006 · Жалоба Я знаю разницу. :) Я просто думал, что количество квитанций в TCPIP можно уменьшить. Придется видимо переделывать под UDP. "не любите кошек? - да вы просто не умеете их готовить!" Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
CompleteFailure Опубликовано 17 сентября, 2006 · Жалоба Shiva, спасибо за ссылку. В этой статье очень много того, чего я не знал. Насколько я понял, параметр WINDOW показывает какое количество пакетов будет принято без получения квитанции. Т.е. если WINDOW=5, то квитанция не посылается на 1,2,3 и 4 пакеты, а посылатеся только на 5ый. Так ли это? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
ram_scan Опубликовано 17 сентября, 2006 · Жалоба Так, только там на таймауты все это еще привязанои не везде можно настроить IP стек таким образом на одно соединение а не на систему. На винде ваще бог знает как этим управлять. Делай на UDP, не изобретай велосипед с квадратными колесами... Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Microsoft Опубликовано 18 сентября, 2006 · Жалоба Т.е. если WINDOW=5, то квитанция не посылается на 1,2,3 и 4 пакеты, а посылатеся только на 5ый. Так ли это?А вот и не так :)В поле Window указывается количество БАЙТ, которые стек готов принять от другой стороны. Если там поставить 5, тогда другая сторона будет отправлять 5 байт в каждом пакете и ждать подтверждения, и в итоге вы будете получать подтверждения на каждые 5 байт. ЗЫ Стек автоматически регулирует это поле, поэтому придется модифицировать это поле все время, т. к. стек будет пытаться увеличить значение этого поля. По поводу UDP - согласен, и ресурсов меньше будет жрать... Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...