![]() |
|
Модераторы: feodorv |
![]()
|
|
| Alexoid |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 13.4.2008 Репутация: нет Всего: нет |
Здравствуйте, программисты!!!
Хотел бы спросить совета. В общем на почту отправляю файлы вложениями, которые соответственно кодируются в base64-код. Класс отправки написан самостоятельно, ч/з WinSocket`s. путь 1 - Раньше я считывалл с диска файл в буффер полностью, затем переводил в base64, и одной командой send отправлял на серв. путь 2 - А сейчас кодирование в Base64 разобрал и поместил в цикл считывания файла, таким образом я считываю файл по 3 бита кодю в Base64 и сразу командой send передаю на серв 4 бйта, и это повторяю пока не считаю весь файл. Просто каждое обращение send мне кажеться немного но задержевает клиентское приложение пока серв обработает послануй буффер и вообще пока серв соизволит обратить на меня(моего клиента) внимание. может выбрать третий путь - тоесть идти по второму пути только кодированный текст накапливать в буффер поболее чем 4 бита, но не слишком болшой так как это тоже не есть ГУД!!! Посоветуйте оптимальный вариант. Это сообщение отредактировал(а) Alexoid - 21.5.2012, 08:59 |
|||
|
||||
| feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 10 Всего: 45 |
Как это? То есть посылаете не байтами, а прямо таки битами? Такими действиями Вы можете спровоцировать обмен большим количеством необоснованно мелких пакетов. Намёк: MTU обычно составляет около 1400 байт, но нужно оставить место на заголовки, поэтому посылайте по 1 килобайту и будет Вам счастье))) -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
| Alexoid |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 13.4.2008 Репутация: нет Всего: нет |
ну попутыл я байт с битом - не выспался)))
Пассибо буду по кБ кидать А размер MTU можно же в приложениях как изменяемую настройку сделать и минус пару байт чтоб вычислить оптимальный размер буффера. У нас допустим в Коми Северо-западный телеком выставляет 1492 в настройках модема. Это сообщение отредактировал(а) Alexoid - 21.5.2012, 11:13 |
|||
|
||||
| Олег2005 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 421 Регистрация: 26.5.2005 Где: Рига Латвия Репутация: 6 Всего: 11 |
Модемная связь - это не Эзернет. В Эзернете MTU=1460 - хоть лопни. Правда и стандартов Эзернета - четыре, могут быть отклонения.. Поэтому ваш IP-пакет, попав в сеть Эзернет - обязательно бужет фрагментирован. Впрочем - это нас(вас) - не волнует........ |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Сети | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |