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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QUdpSocket  (Прочитано 3183 раз)
qtист
Гость
« : Декабрь 13, 2013, 10:28 »

В общем есть две машины:
с одной запускаю бродкастовский udp пакет:
Код
C++ (Qt)
udpSocket = new QUdpSocket(this);
QByteArray datagram = "PRIBOR ";
udpSocket->writeDatagram(datagram.data(), datagram.size(),
QHostAddress::Broadcast, 45454);
на другой принимаю:
Код
C++ (Qt)
udpSocket = new QUdpSocket(this);
//udpSocket->bind(45454, QUdpSocket::ShareAddress);
udpSocket->bind(45454);
connect(udpSocket, SIGNAL(readyRead()), this, SLOT(processPendingDatagrams()));
 
processPendingDatagrams()
{
..........что делаю
}

1.когда эти машины в сети - всё хорошо
2.когда соединяю их друг с другом по eth - то пакет udp не приходит.
Пакеты tcp все проходят.
что я делаю не так?
Записан
CuteBunny
Гость
« Ответ #1 : Декабрь 13, 2013, 13:51 »

Извините, если не в тему, но просто интересно, что значит соединить компьютеры по eth?
И в чем разница, "когда эти машины в сети"?
Записан
qtист
Гость
« Ответ #2 : Декабрь 13, 2013, 13:53 »

В сети-это в нашей lan
по eth - это напрямую от сетевой до сетевой
Записан
CuteBunny
Гость
« Ответ #3 : Декабрь 13, 2013, 14:05 »

Рискну предположить, что в соединении типа point-to-point (через eth), просто нельзя делать broadcast... Да и зачем он там нужен? Могу ошибаться Улыбающийся
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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