CompleteFailure Posted September 11, 2006 Posted September 11, 2006 Всем привет. :) Я написал сервер на делфи и клиента на J2ME, которые общаются через TCPIP. Каждый пакет идет приблизительно через 20 секунд и судя по тому что показывает снифер на каждый пакет принимающая сторона посылает назад еще один пакет (квитанцию подтверждающую получение пакета и его корректность). При этом трафик увеличивается вдвое. Скажите, пожалуйста, возможно ли в таких условиях уменьшить количество подтверждающих пакетов (например, одна квитанция на пять отправленных пакетов) и если да, то как? Может быть в TCP пакете в разделе TCP options есть какой-то параметр, который отвечает за количество квитанций? Или это делается в настройках сокета сервера (клиента)? Вставить ник Quote
ram_scan Posted September 11, 2006 Posted September 11, 2006 Не порти нормальный протокол дебильными извращениями и мутными умственными изысками. Реализуй по UDP и отправляй подтверждения когда надо и на сколько надо пакетов. Вставить ник Quote
GateKeeper Posted September 11, 2006 Posted September 11, 2006 Ник говорящий Ж). По сути: сообщения, которыми обмениваются клиент-сервер настолько малы, что укладываются в заголовок пакета? Вставить ник Quote
CompleteFailure Posted September 11, 2006 Author Posted September 11, 2006 :) GateKeeper, в каждом пакете 12 байт нужной информации. Вставить ник Quote
GateKeeper Posted September 11, 2006 Posted September 11, 2006 Тяжело... ну а правда - что б не почитать про IP и одни из самых распространенных из них TCP и UDP? Ну и понять разницу... Ну и сделать выводы... Ну и в дальнейшем таких вопросов не задавать... Вставить ник Quote
CompleteFailure Posted September 11, 2006 Author Posted September 11, 2006 Я знаю разницу. :) Я просто думал, что количество квитанций в TCPIP можно уменьшить. Придется видимо переделывать под UDP. Вставить ник Quote
Shiva Posted September 11, 2006 Posted September 11, 2006 Старая песня о главном. TCP/IP. Вставить ник Quote
zyxman Posted September 13, 2006 Posted September 13, 2006 Я знаю разницу. :) Я просто думал, что количество квитанций в TCPIP можно уменьшить. Придется видимо переделывать под UDP. "не любите кошек? - да вы просто не умеете их готовить!" Вставить ник Quote
CompleteFailure Posted September 17, 2006 Author Posted September 17, 2006 Shiva, спасибо за ссылку. В этой статье очень много того, чего я не знал. Насколько я понял, параметр WINDOW показывает какое количество пакетов будет принято без получения квитанции. Т.е. если WINDOW=5, то квитанция не посылается на 1,2,3 и 4 пакеты, а посылатеся только на 5ый. Так ли это? Вставить ник Quote
ram_scan Posted September 17, 2006 Posted September 17, 2006 Так, только там на таймауты все это еще привязанои не везде можно настроить IP стек таким образом на одно соединение а не на систему. На винде ваще бог знает как этим управлять. Делай на UDP, не изобретай велосипед с квадратными колесами... Вставить ник Quote
Microsoft Posted September 18, 2006 Posted September 18, 2006 Т.е. если WINDOW=5, то квитанция не посылается на 1,2,3 и 4 пакеты, а посылатеся только на 5ый. Так ли это?А вот и не так :)В поле Window указывается количество БАЙТ, которые стек готов принять от другой стороны. Если там поставить 5, тогда другая сторона будет отправлять 5 байт в каждом пакете и ждать подтверждения, и в итоге вы будете получать подтверждения на каждые 5 байт. ЗЫ Стек автоматически регулирует это поле, поэтому придется модифицировать это поле все время, т. к. стек будет пытаться увеличить значение этого поля. По поводу UDP - согласен, и ресурсов меньше будет жрать... Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.