Гость
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Медленная передача данных по UDP. / 3 сообщений из 3, страница 1 из 1
25.02.2018, 09:54
    #39606908
jenya7
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Медленная передача данных по UDP.
Создаю сокет
Код: c#
1.
2.
3.
4.
5.
  rxSock = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
  IPEndPoint ipep = new IPEndPoint(RPSIPAddress, LBJPPort);
  rxSock.Bind(ipep);
                
  rxSock.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.AddMembership, new MulticastOption(multicastIpAddress, RPSIPAddress));


посылаю
Код: c#
1.
2.
3.
4.
 watch.Reset();
 watch.Start();
 rxSock.SendTo(tx_data, uniSender);
 watch.Stop();


при размере tx_data в 10 килобайт посылка занимает 1 секунду. это нормально?
...
Рейтинг: 0 / 0
25.02.2018, 17:54
    #39607003
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Медленная передача данных по UDP.
Ты 70 Кб попробуй послать

При размере пакета более MTU происходит дефрагментация, т.е. разбиение на несколько IP пакетов. В случае с UDP такой попиленный пакет чаще всего убивается по дороге, если это не локалка.

MTU ethernet`a 1500 байт. При наличии ВПН`ов может уменьшаться до 1400. Вычти отсюда 28 байт на заголовки IP и UDP.

Т.е. максимум 1372 байта и даже не пытайся посылать больше.

Учитывай что эти 1372 могут не дойти, т.к. UDP не гарантирует доставку.

PS Твой код не должен тормозить, разве что ответ DNS долго ждет.
...
Рейтинг: 0 / 0
26.02.2018, 09:42
    #39607145
jenya7
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Медленная передача данных по UDP.
Dima TТы 70 Кб попробуй послать

При размере пакета более MTU происходит дефрагментация, т.е. разбиение на несколько IP пакетов. В случае с UDP такой попиленный пакет чаще всего убивается по дороге, если это не локалка.

MTU ethernet`a 1500 байт. При наличии ВПН`ов может уменьшаться до 1400. Вычти отсюда 28 байт на заголовки IP и UDP.

Т.е. максимум 1372 байта и даже не пытайся посылать больше.

Учитывай что эти 1372 могут не дойти, т.к. UDP не гарантирует доставку.

PS Твой код не должен тормозить, разве что ответ DNS долго ждет.
понял. будем дробить. спасибо.
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Медленная передача данных по UDP. / 3 сообщений из 3, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]