Я видел несколько потоков о моем вопросе, но, по-прежнему, я не могу решить проблему, и ответов недостаточно. Итак, вот задача: у меня 2 ПК. Необходимо передать 100 udp-пакетов с простыми тестовыми данными, а другая машина должна прочитать дейтаграммы. Мой код выглядит следующим образом:Удаленный хост клиента-сервера QUдpSocket не подключается
Сервер:
m_socket.udp = новый QUdpSocket (это);
if (m_socket.udp->bind(QHostAddress("192.168.32.154"), 1234)) {
m_socket.udp->connectToHost(QHostAddress("192.168.32.154"), 1234);
m_socket.udp->waitForConnected();
}
connect(m_socket.udp, SIGNAL(connected()),
this, SLOT(handleConnection()));
connect(m_socket.udp, SIGNAL(readyRead()),
this, SLOT(readyReadUdp()));
Итак ... сначала - привязка к IP-адресу машины 1 не удалась. Я не должен указывать его IP.
Клиент прост:
p_socket = new QUdpSocket(this);
p_socket->connectToHost(QHostAddress("192.168.32.94"), 1234);
connect(p_socket, SIGNAL(connected()), this, SLOT(writeDgram()));
....
void writeDgram() {
p_socket->write(QByteArray("test"));
}
Так клиентский код, как показано на Wireshark, приходит к моей машине сервера. Но мой серверный код Qt меня сбивает. Любая помощь здесь?
Не могли бы вы быть более конкретными? Что вы видите в wirehark? что вы подразумеваете под «первым - сбой связи с IP-машиной 1»? – Prabhu
Я привязываюсь к удаленному хосту, например: 192.168.32.150 с портом 1234, который был бы машиной 1, и от 192.168.32.150 Я отправляю 100 датаграмм на ожидающую машину. Простой пример, который соединяет 2 UDP-сокета, будет отличным. Но пример должен быть между двумя компьютерами. –
Разве сложно обменивать несколько дейтаграмм между двумя машинами? Еще нет ответов? –