Название: Взаимодействие qt- и не qt-приложений Отправлено: 0...-5 от Октябрь 05, 2010, 11:36 Здравствуйте, возник казалось бы абсурдный вопрос: можно ли организовать обмен данными по протоколу udp между приложением qt и стандартным c++? Написал тестовый примерчик, который почему-то не работает:
Qt - отправка дейтаграммы: Код: QByteArray datagram; Код получателя: Qt - отправка дейтаграммы: Код: WSADATA wsaData; Как вы, возможно догадались, до получателя доходили неверные данные. Название: Re: Взаимодействие qt- и не qt-приложений Отправлено: navrocky от Октябрь 05, 2010, 11:47 Написал тестовый примерчик, который почему-то не работает: Код: QByteArray datagram; Как вы, возможно догадались, до получателя доходили неверные данные. То есть ты данные все-таки получаешь? Что понимается под неверными данными? QDataStream сериализует по своему собственному протоколу, поэтому там помимо данных идет еще доп. инфа. Если хочешь сырые данные отправлять то зови Код: f_udp_socket.write(&d, sizeof(d), QHostAddress::LocalHost, 6000); Название: Re: Взаимодействие qt- и не qt-приложений Отправлено: 0...-5 от Октябрь 05, 2010, 11:56 Да, получаю, но судя по всему там идет переполнение инта...Спасибо большое, попробую этот метод, как-то сразу не додумался а сделал все по примеру из книги
Название: Re: Взаимодействие qt- и не qt-приложений Отправлено: ufna от Октябрь 05, 2010, 12:03 Не используй QDataStream в этом случае. Это такая штука, для которой верно, что если ей писали, ей и надо читать, об этом в доках написано.
Название: Re: Взаимодействие qt- и не qt-приложений Отправлено: mkv от Октябрь 05, 2010, 12:37 а еще есть little-endian и big-endian
Название: Re: Взаимодействие qt- и не qt-приложений Отправлено: merke от Октябрь 05, 2010, 12:44 а еще есть little-endian и big-endian как раз с этим сталкивался когда нужно было с сервера, который написан на qt передавать данные на клиент, который был написан на VB6 Также санчала пытался передавать данные используя QDataStream, потом просто стал передавать данные методом write. Название: Re: Взаимодействие qt- и не qt-приложений Отправлено: Igors от Октябрь 05, 2010, 14:36 а еще есть little-endian и big-endian Да, и по умолчанию QDataStream сохраняет в big endian. Стоит поменять (setByteOrder) и проверить |