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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Размер пакета TCP IP 
:(
    Опции темы
vlsaf
Дата 31.5.2009, 11:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Всем привет.

На PDA передаю с сервера файл по кускам по TCP.

Куски у меня 2048 байт. 
Подумал, что если размер самого физического пакета больше, чем 2048, 
то это означает, что я не полностью задействую трафик.
Например, если размер физического пакета 32кб, а файл размером 64кб,
то теоретически его можно передать в двух пакетах, а у меня сейчас уходит на передачу такого файла 32 пакета. Т.е. 32 запроса к серверу.

А как узнать, каков размер пакета, чтобы его по возможности заполнять на 100%?

Другой пример.
Предположим мне на SD карту надо записать файл размером 2Гб.
Если предположить, что стек сам разбирается во всем, то можно 
эти 2 гига пульнуть через networkStream.Write и ждать, когда эти 2 гига прийдут.
Но, как показывает практика, 2 гига никак не влезают networkStream.

Так сколько же можно туда положить, чтобы поток не захлебнулся?
10 байт или 10 Кб или 1 Мб. Как определить допустимый или оптимальный размер?
PM   Вверх
DVariuS
Дата 31.5.2009, 11:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



vlsaf, при передаче информации периодически возникают ошибки. Если клиент принимает испорченный пакет, сервер отправляет его заново. Т.е. чем лучше качество канала - тем больший размер пакета можно отправлять, т.к. это увеличивает быстродействие. 
На мой взгляд, правильно определить размер пакета можно только экспериментальным путем во время выполнения программы, т.к. необходимо обладать оперативными данными о качестве канала.
PM MAIL   Вверх
vlsaf
Дата 1.6.2009, 10:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Я правильно понимаю, что судить о том, испорченый пакет пришел или нет, должен я сам? Я передаю с сервера на клиента вместе с куском файла еще и контрольную сумму этого куска CRC32. Если пришедшая сумма и посчитанная сумма для принятого куска на клиенте совпадают, то пакет пришел верный и в следующий раз я могу запросить больший кусок информации? 

Или же внутренняя программа обработки TCP пакетов сама заботится об этом? 

Это сообщение отредактировал(а) vlsaf - 1.6.2009, 10:13
PM   Вверх
DVariuS
Дата 2.6.2009, 11:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата(vlsaf @  1.6.2009,  10:12 Найти цитируемый пост)
Я правильно понимаю, что судить о том, испорченый пакет пришел или нет, должен я сам?

Если ты хочешь использовать низкоуровневые возможности и заработать кучу головной боли для получения весьма сомнительной выгоды - то да. На более высоком уровне система сама заботится о регулировке таких параметров.
Для увеличения быстродействия лучше не морочить голову с размерами пакетов и копать в сторону сжатия информации, если это позволяет специфика задачи.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
cully
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, cully, mr.DUDA, Exception.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Распределённые приложения и сеть | Следующая тема »


 




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


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

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