Модераторы: feodorv
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> send Small || Big buffer, Большой, маленький буффер отсылки 
V
    Опции темы
Alexoid
Дата 21.5.2012, 08:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 45
Регистрация: 13.4.2008

Репутация: нет
Всего: нет



Здравствуйте, программисты!!!
Хотел бы спросить совета.
В общем на почту отправляю файлы вложениями, которые соответственно кодируются в base64-код. 
Класс отправки написан самостоятельно, ч/з WinSocket`s.
путь 1 - Раньше я считывалл с диска файл в буффер полностью, затем переводил в base64, и одной командой send отправлял на серв.

путь 2 - А сейчас кодирование в Base64 разобрал и поместил в цикл считывания файла, таким образом я считываю файл по 3 бита кодю в Base64 и сразу командой send передаю на серв 4 бйта, и это повторяю пока не считаю весь файл.

Просто каждое обращение send мне кажеться немного но задержевает клиентское приложение пока серв обработает послануй буффер и вообще пока серв соизволит обратить на меня(моего клиента) внимание.
может выбрать третий путь - тоесть идти по второму пути только кодированный текст накапливать в буффер поболее чем 4 бита, но не слишком болшой так как это тоже не есть ГУД!!!

Посоветуйте оптимальный вариант.

Это сообщение отредактировал(а) Alexoid - 21.5.2012, 08:59
PM MAIL   Вверх
feodorv
Дата 21.5.2012, 10:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2214
Регистрация: 30.7.2011

Репутация: 10
Всего: 45



Цитата(Alexoid @  21.5.2012,  09:54 Найти цитируемый пост)
4 бита

Как это? То есть посылаете не байтами, а прямо таки битами?

Такими действиями Вы можете спровоцировать обмен большим количеством необоснованно мелких пакетов. Намёк: MTU обычно составляет около 1400 байт, но нужно оставить место на заголовки, поэтому посылайте по 1 килобайту и будет Вам счастье)))


--------------------
Напильник, велосипед, грабли и костыли - основные инструменты программиста...
PM MAIL   Вверх
Alexoid
Дата 21.5.2012, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 45
Регистрация: 13.4.2008

Репутация: нет
Всего: нет



ну попутыл я байт с битом  - не выспался)))
Пассибо буду по кБ кидать
А размер MTU можно же в приложениях как изменяемую настройку сделать и минус пару байт чтоб вычислить оптимальный размер буффера.
У нас допустим в Коми Северо-западный телеком выставляет 1492 в настройках модема.

Это сообщение отредактировал(а) Alexoid - 21.5.2012, 11:13
PM MAIL   Вверх
Олег2005
Дата 29.5.2012, 10:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Завсегдатай
Сообщений: 421
Регистрация: 26.5.2005
Где: Рига Латвия

Репутация: 6
Всего: 11



Цитата(Alexoid @  21.5.2012,  09:42 Найти цитируемый пост)
У нас допустим в Коми Северо-западный телеком выставляет 1492 в настройках модема.

Модемная связь - это не Эзернет.
В Эзернете MTU=1460 - хоть лопни.
Правда и стандартов Эзернета - четыре, могут быть отклонения..
Поэтому ваш IP-пакет, попав в сеть Эзернет - обязательно бужет фрагментирован.
Впрочем - это нас(вас) - не волнует........
PM MAIL WWW MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0485 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.