Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/8: Рейтинг темы: голосов - 8, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 07.08.2013
Сообщений: 21

Теряются udp пакеты при отправке в цикле

02.04.2015, 11:13. Показов 1719. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, коллеги!
Моя проблема заключается в том, что при отправке пакетов в цикле до адресата не доходят примерно 40% пакетов. Отправляю так:
C++
1
2
3
4
5
6
7
udpSocket = new QUdpSocket(this);
i = 0;
while(i < 20)
{
    udpSocket->writeDatagram(sendBackPacket,QHostAddress("ip"),32321);
    i++;
}
При такой отправке теряются в среднем 5-9 пакетов.

Если я переписываю код вот так:
C++
1
2
3
4
5
6
7
8
udpSocket = new QUdpSocket(this);
i = 0;
while(i < 20)
{
    udpSocket->writeDatagram(sendBackPacket,QHostAddress("ip"),32321);
    QThread::msleep(1);
    i++;
}
Тогда ситуация вроде, как улучшается, но этот подход мне не нравится. Кто сталкивался с такой проблемой и как вы ее решили?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.04.2015, 11:13
Ответы с готовыми решениями:

Почему теряются пакеты по UDP
Добрый день, изучаю сетевое программирование на QT и вот столкнулся с проблемой, что почему-то передается только последнее сообщение,...

AxWinsock - Недоходят tcp пакеты при отправке в цикле по массиву сокетов
Доброго времени суток есть массив сокетов если отправляю данные по одному конкретному сокету - данные успешно отправляются если...

Теряются пакеты при пинге
Здравствуйте, товарищи! Проблема в нестабильности интернет соединения. Началось всё с того, что роутер zyxel перестал видеть кабель. Даже...

3
Эксперт С++
 Аватар для Maxim Prishchepa
1936 / 1048 / 109
Регистрация: 29.03.2010
Сообщений: 3,167
02.04.2015, 23:46
ищите на форуме, я такой вопрос уже поднимал тут... там чуток описанно как можно оптимезировать... полностью проблему не удалось решить (на Qt 4.8 на тот момент это вроде был последний), пришлось сетевую часть на BOOST писать, там результаты по лучше....

Добавлено через 2 минуты
* правда у меня вроде было, что пакеты на приемной сотороне терялись, а не на отправляющей... посмотрите, в QUdpSocket вроде был метод waitForWrite или как-то так... должно полегчать, если не хотите с асинхронностью возиться
0
Почетный модератор
Эксперт по компьютерным сетямЭксперт Windows
 Аватар для magirus
28049 / 15785 / 983
Регистрация: 15.09.2009
Сообщений: 67,752
Записей в блоге: 78
02.04.2015, 23:48
UDP предоставляет ненадёжный сервис, и датаграммы могут прийти не по порядку, дублироваться или вовсе исчезнуть без следа. UDP подразумевает, что проверка ошибок и исправление либо не нужны, либо должны исполняться в приложении
неудивительно что
Цитата Сообщение от Implayingdota Посмотреть сообщение
до адресата не доходят примерно 40% пакетов.
...

Добавлено через 1 минуту
Цитата Сообщение от Maxim Prishchepa Посмотреть сообщение
что пакеты на приемной сотороне терялись, а не на отправляющей...
Цитата Сообщение от Implayingdota Посмотреть сообщение
до адресата не доходят
.... то есть "с моей стороны пули вылетели"
0
Эксперт С++
 Аватар для Maxim Prishchepa
1936 / 1048 / 109
Регистрация: 29.03.2010
Сообщений: 3,167
02.04.2015, 23:54
у меня было, что пули ушли, и да же почти что в цель попали (т.е. на интерфейс сетевки они пришли), а вот сигнал не эмитился... где-то в буферах ОС терялись
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.04.2015, 23:54
Помогаю со студенческими работами здесь

Теряются вложения при массовой отправке писем
Всем привет. Для отправки писем использую PhpMailer (точнее, расширение для Yii, которое его использует). Раз в 5 минут работает крон...

При Ping'e пакеты не теряются, но "Подключение ограничено либо отсутствует"
Здравствуйте. Сетевая карта пишет &quot;Подключение ограничено либо отсутствует&quot; , но при этом интернет на компьютер поступает. почему...

Winsock2: ошибка при отправке UDP сообщения
Пытаюсь отправить сообщение. Почему-то всегда пишет ошибку.. Что не так с кодом? Использую UDP Переменные: int sd; int...

Теряются пакеты
Теряются пакеты, иногда! минут 5 поработает нормально и на 30сек примерно начинает терять пакеты потеря пакетов состовляет - 25%...

Теряются пакеты интернета
Здравствуйте , такая проблема, что с утра,примерно часов с 10 и до вечера 11-12 отключается интернет , буквально на несколько секунд и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru