2 / 2 / 1
Регистрация: 18.04.2014
Сообщений: 26
|
|
1 | |
Быстрая передача udp пакетов19.11.2014, 14:08. Показов 5870. Ответов 28
Метки нет (Все метки)
Есть задача передать udp пакеты, как можно быстрее. Точнее, данные 1024*768 байт должны передаваться за 5 мс, сейчас добился скорости в 17мс, размеры пакетов могут быть любыми (сейчас 512). Каким образом можно ускорить передачу в 3 раза? Каким способом осуществляется асинхронная передача пакетов?
Использую Visual Studio 13, на windows 7, библиотека winsock2.h
0
|
19.11.2014, 14:08 | |
Ответы с готовыми решениями:
28
UDP отправка и прием пакетов Передача/прием UDP пакетов stm32f107vct6 Передача с микрофона в udp и прием из udp на динамик Быстрая отправка пакетов |
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
19.11.2014, 19:08 | 21 |
Откуда известно, где физически в сети находится этот mac адрес? Тем более если отппавлять по ip, то сначала посылается запрос, плата отвечает, что это её адрес и ему соответствует такой то mac и уже на этот мак идёт весь трафик для платы. И даже если отправлять на mac, коммутатор не знает, на каком его порту (не ip порту, на разъёме) этот mac сидит, пока с него не придёт хотябы один пакет. То есть пока плата не вышлет исходящий. Поэтому коммутатор, получив mac адрес назначения, равный адресу платы разошлёт пакет сразу всем, без ответа он выдержит максимальную паузу. 1 мегабит из тысячи так легко получить. А 300 из тысячи как? Топить остальную сеть?
Добавлено через 1 минуту .................
0
|
castaway
|
19.11.2014, 19:09
#22
|
Не по теме: WeDZminxxx, не обращай на него внимание. Он не всегда уверен в своих убеждениях.
0
|
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
19.11.2014, 19:11 | 23 |
0
|
2 / 2 / 1
Регистрация: 18.04.2014
Сообщений: 26
|
|||||||||||
19.11.2014, 19:20 [ТС] | 24 | ||||||||||
переменная b - нужна для номера кадра, ее половинки надо поменять местами - узнал это когда пакет wireshar-ком проверил(почему-то при компановке структуры с++ меняет местами половинки)
первый if - для определения последнего пакета, он одним словом отличается от других второй if на самом деле такой(не помню почему вынес в отдельную переменную)
rtp - массив структур packet размером 768*2, каждый элемент (20 + 512) байт, за раз отправляю один элемент массива по номеру ii * max_kk + kk - размером (width_1 + 20), где width_1 = 512 Полное изображение не пробовал(даже когда отправляю строку, а не половину, скорость падает) Я отправляю 100 кадров, на каждый и колебания времени отправки кадра от 16 - 18 ms, если при этом увеличить mtu на максимум(9KB насколько помню) - то колебания от 15 до 30 ms(среднее 21ms) Добавлено через 4 минуты
Можно подробней, про то где находится коммутатор в прямом соединении сетевой карты компьютера и ПЛИС с портом RJ45?
0
|
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
19.11.2014, 19:49 | 25 |
То есть всего 256 градаций.
Добавлено через 5 минут Не c++, а процессор. Есть разные порядки байт в словах, слов в двойных словах и двойных слов в четверных словах. Кроме того, есть ещё смешанные порядки байт в двойных словах и четверных словах. Процессор использует один порядок, а в протоколе порядок другой.
0
|
2 / 2 / 1
Регистрация: 18.04.2014
Сообщений: 26
|
|
19.11.2014, 19:56 [ТС] | 26 |
Да, 8b'00000000 - 0, 8b'11111111 - 255
Добавлено через 6 минут Я не разбирался кто именно, просто возникла проблема по которой пришлось менять местами половины слов
0
|
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
19.11.2014, 19:58 | 27 |
0
|
19.11.2014, 20:31 | 28 |
WeDZminxxx, да, в сети есть свой порядок байт, отличный от разных архитектур, и он всегда одинаковый.
Добавлено через 4 минуты WeDZminxxx, единственный вариант увеличения производительности я вижу только в коде. Следует оптимизировать именно его.
0
|
28 / 5 / 1
Регистрация: 18.11.2014
Сообщений: 68
|
|
19.11.2014, 21:10 | 29 |
попробуй zmq или ещё какую-нибудь либу для low latency. http://zeromq.org/area:faq
0
|
19.11.2014, 21:10 | |
19.11.2014, 21:10 | |
Помогаю со студенческими работами здесь
29
Прием пакетов по UDP Потери UDP пакетов Потери UDP пакетов Прием UDP пакетов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |