14 / 13 / 4
Регистрация: 30.09.2015
Сообщений: 134

Работа нескольких UDP сокетов с 1м портом

15.08.2017, 08:40. Показов 3976. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, возникла у меня такая проблемка:
есть 2+ программы, расположенные на одной машине, которые должны читать данные с одного и того же порта. Но получается так что вычитываеся, только 1м сокетом.
Бинды проходят вроди без ошибок;
Код создания сокетов:
C++ (Qt)
1
2
3
4
5
    socket=new QUdpSocket(this);
    socket->bind(4660,QUdpSocket::ReuseAddressHint|QUdpSocket::ShareAddress);
    connect(socket,SIGNAL(readyRead()),this,SLOT(slotRead()));
    connect(socket,SIGNAL(error(QAbstractSocket::SocketError)),
            this,SLOT(slotError(QAbstractSocket::SocketError)));
чтение данных
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
    while (socket->hasPendingDatagrams())
    {
        QByteArray datagram;
        datagram.resize(socket->pendingDatagramSize());
        QHostAddress sender;
        quint16 senderPort;
        socket->readDatagram(datagram.data(), datagram.size(),
                                     &sender, &senderPort);
        parsingAnswer(datagram);
    }
где я зарукожопил?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.08.2017, 08:40
Ответы с готовыми решениями:

Работа с одним com-портом с нескольких форм
Доброго времени суток. Подскажите, пожалуйста, как работать с одним com-портом с нескольких форм приложения. Спасибо.

Передача файла с помощью сокетов (UDP)
Всем привет! Пишу лабу по сокетам. Полностью задание звучит так: У меня возникла проблема с передачей файла блоками и заданием в...

Отправка сокетов в виде массивов по UDP-протоколу
Читающим доброе время суток, вот хочу обратиться за помощью. Суть проблемы состоит в отправка сокетов в виде массивов по...

10
1443 / 1326 / 131
Регистрация: 20.03.2009
Сообщений: 4,689
Записей в блоге: 11
15.08.2017, 08:51
Какая ос?
0
14 / 13 / 4
Регистрация: 30.09.2015
Сообщений: 134
15.08.2017, 09:13  [ТС]
пробовал на w10 и AstraLinux 1.4
0
 Аватар для Горбаг
184 / 176 / 57
Регистрация: 25.09.2014
Сообщений: 834
15.08.2017, 09:43
Вроде без ошибок!? Ты программу пишешь или прогноз погоды на завтра? Проверяй результаты используемых функций ВСЕГДА. bind, например, возращает результат.
0
18 / 18 / 2
Регистрация: 24.02.2014
Сообщений: 44
15.08.2017, 13:08
На Win первое запущенное приложение захватывает порт и никому больше не разрешает его использовать. Помогает использование WinPcap, но это уже другая история. Так работает WireShark например.
0
 Аватар для Горбаг
184 / 176 / 57
Регистрация: 25.09.2014
Сообщений: 834
15.08.2017, 17:47
InTar, как бы мне прекрасно помогало
C++ (Qt)
1
socket->bind(4660,QUdpSocket::ReuseAddressHint);
Почему у тс не работает - не знаю.
0
1443 / 1326 / 131
Регистрация: 20.03.2009
Сообщений: 4,689
Записей в блоге: 11
16.08.2017, 00:22
Цитата Сообщение от InTar Посмотреть сообщение
Так работает WireShark например.
WireShark не так работает. Pcap
0
18 / 18 / 2
Регистрация: 24.02.2014
Сообщений: 44
16.08.2017, 11:46
Dmitriy_M, Возможно я не правильно сформулировал... Имелось ввиду, что WireShark использует WinPcap. Что подтверждает и приведенная вами ссылка.
0
1443 / 1326 / 131
Регистрация: 20.03.2009
Сообщений: 4,689
Записей в блоге: 11
16.08.2017, 11:58
InTar,
В состав WinPcap входят:

драйверы для Windows 95/98/Me, и для семейства Windows NT (Windows NT 4.0, Windows 2000, Windows XP, Windows Server 2003, Windows Vista, etc.), которые используют NDIS для чтения пакетов, которые получает сетевая карта;
низкоуровневые библиотеки для взаимодействия с драйверами сетевых интерфейсов.
0
14 / 13 / 4
Регистрация: 30.09.2015
Сообщений: 134
18.08.2017, 15:29  [ТС]
Этот флаг позволяет успешно забиндится, без него(насколько я знаю), неудастся даже забиндить 2й сокет на тот же порт.

У меня работают все порты(Вычитывают пакеты) только при бродкастовой отсылке. При адресной только 1н порт(( похоже придется костыли строить((

Добавлено через 15 секунд
Этот флаг позволяет успешно забиндится, без него(насколько я знаю), неудастся даже забиндить 2й сокет на тот же порт.

У меня работают все порты(Вычитывают пакеты) только при бродкастовой отсылке. При адресной только 1н порт(( похоже придется костыли строить((
0
11 / 9 / 3
Регистрация: 16.06.2019
Сообщений: 57
10.04.2020, 16:40
SkaDi, наткнулся на ту же проблему, не пойму как решить. Может быть вы докопались до сути?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.04.2020, 16:40
Помогаю со студенческими работами здесь

Создание нескольких прослушивающих сокетов (Linux)
Доброго времени суток! Пишу под Linux на С++ приложение которому необходимо иметь два слушающих сокета на разных портах. ...

Отличие Web сокетов от сокетов в Boost Asio
Здравствуйте, Кто нибудь может пожалуйста подсказать, есть ли различие между WebSocket и сокетами в Boost asio и если есть, то в чем...

NetCat: выполнение нескольких команд на UDP-сервере
Добрый день, подскажите как с помощью Bat можно запустить и выполнить несколько команд в терминале. Запускаю NetCat так, потом не знаю...

Прием Датаграмм по UDP от нескольких источников одновременно
Добрый день. Вот собственно такая неопределенность. Что будет если сразу несколько отправителей начнут слать Датаграммы одному приемнику....

Работа с COM портом
Есть COM порт, там подцеплено оборудование. Как мне послать на него предположим #10 и считать все что он отправил


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

Новые блоги и статьи
Тестирование Pull Request в Kubernetes с vCluster
Mr. Docker 19.07.2025
Часто сталкиваюсь с серьезной дилемой при настройке тестовых окружений для проверки Pull Request в Kubernetes. С одной стороны, каждый PR требует изолированной среды — только так можно гарантировать,. . .
Мой 7 минутный ролик с крамольным предложением про шахматы, предлагаю заценить
_Ivana 18.07.2025
p2UhJNMGY94
Десять Middleware Node.js для эффективного кодинга
Reangularity 18.07.2025
Когда я только начинал работать с Node. js, количество пакетов в npm меня буквально парализовало. Сегодня их больше 1,3 миллиона — попробуй разберись, что стоит твоего внимания, а что нет. Я потратил. . .
Context и глубины Android
mobDevWorks 18.07.2025
В Android разработки Context напоминает воздух - он везде, жизненно необходим, но мало кто может детально объяснить его природу. Мы привыкли получать его как параметр, передавать дальше и. . .
Результаты исследования от команды MCM (июль 2025 г.)
Programma_Boinc 18.07.2025
Результаты исследования от команды MCM (июль 2025 г. ) Как сообщалось в наших предыдущих публикациях, мы изучаем гены, которые имеют наибольший рейтинг и ассоциируются с различными видами рака, в. . .
ИИ-чатбот на React с OpenAI и LangChain.js
Reangularity 17.07.2025
React давно стал для меня золотым стандартом фронтенд-разработки. Его компонентная структура, виртуальный DOM и однонаправленный поток данных идеально подходят для создания динамичных интерфейсов. . .
Пишем адаптер для локального хранилища S3 на C#
stackOverflow 16.07.2025
Разработка современных приложений часто требует интеграции с объектными хранилищами, и Amazon S3 стал де-факто стандартом в этой области. Однако работа с облачными сервисами в процессе разработки. . .
Старые замки
kumehtar 16.07.2025
Смотрел тут фото, попались пара старых замков. И сразу бросилось в глаза из отличие. Например: Замок Бистон, в англии. Разрушенное сооружение. Но - не испорченное людьми, по крайней мере - на. . .
Java и Eclipse Store: Сверхбыстрые приложения с In-Memory DB
Javaican 15.07.2025
Eclipse Store — это микро-движок персистентности для Java, который позволяет хранить и извлекать нативные Java-объекты без необходимости преобразования данных или использования объектно-реляционного. . .
EmBitz, создание проекта, отладка, прошивка
locm 15.07.2025
Создание проекта для Blue Pill (STM32F103C8T6) в EmBitz 2. 30, написания кода blink, запуск отладки в ОЗУ, заливка релизной прошивки во flash используя ST-Link и др. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru