Russian Qt Forum
Ноябрь 23, 2024, 01:14 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Определение адреса хоста, с которого получена udp datagram  (Прочитано 4198 раз)
frontwise
Гость
« : Апрель 14, 2009, 03:07 »

Собственно, как?
В QtDemo есть пример Broadcast Receiver.

Код:
     while (udpSocket->hasPendingDatagrams()) {
         QByteArray datagram;
         datagram.resize(udpSocket->pendingDatagramSize());
         udpSocket->readDatagram(datagram.data(), datagram.size());
         statusLabel->setText(tr("Received datagram: \"%1\"")
                              .arg(datagram.data()));
     }
Мне нужно здесь определить, с какого IP получено сообщение.
udpSocket->peerName() возвращает null, даже если udpSocket->state() в connected (пробывал с udpSocket->waitForConnected(0)).
Записан
Rcus
Гость
« Ответ #1 : Апрель 14, 2009, 05:48 »

А читать документацию по QUdpSocket::readDatagram не пробовали?
Записан
frontwise
Гость
« Ответ #2 : Апрель 14, 2009, 11:03 »

А читать документацию по QUdpSocket::readDatagram не пробовали?
Вы про два последних параметра?
Код:
udpSocket->readDatagram ( datagram.data(), datagram.size(), addr, &prt );
Не работает, *addr и prt не изменяются после вызова функции.
Записан
frontwise
Гость
« Ответ #3 : Апрель 15, 2009, 00:39 »

Была какая-то проблема с сетевыми настройками, перегрузился - работает. Возможно, как-то виноваты виртуальные сети VMWare. Тему можно сносить.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.045 секунд. Запросов: 20.