Официальный форум СВД Встраиваемые Системы
25 Апрель, 2024, 15:08:52 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
 
 
 Сайт СВД ВС  Начало   Помощь Поиск Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: udp в QNX 6.5.0  (Прочитано 1596 раз)
_Cepera_
Пользователь

Сообщений: 41


« : 17 Декабрь, 2015, 14:33:20 »

Появилась проблема, Установлен QNX6.5.0 на vmware. В qt 5.5.0 С помощью QUdpSocket делаю коннект, проходит нормально, ошибок не выдает, но когда делаю writedatagram то выдает ошибки, скриншот приложил снизу. Хотел спросить, нужно делать какие то предварительные настройки на QNX, или это связано с чем то другим?

« Последнее редактирование: 17 Декабрь, 2015, 14:36:22 от _Cepera_ » Записан
Олег Большаков
Легенда

Сообщений: 3140



« Ответ #1 : 18 Декабрь, 2015, 17:13:45 »

К сожалению, по скриншоту не очень понятно, как используется QUdpSocket. Прошу Вас подготовить небольшой рабочий пример проекта с QUdpSocket, который иллюстрирует проблему, и переслать его нам на адрес технической поддержки.
Записан
Андрей Докучаев
Сотрудник СВД ВС
Легенда

Сообщений: 1076



WWW
« Ответ #2 : 18 Декабрь, 2015, 18:13:52 »

Я бы предположил, судя по логу, что код пытается непрерывно коннектиться невзирая на уже существующее соединение.
Записан

_Cepera_
Пользователь

Сообщений: 41


« Ответ #3 : 20 Декабрь, 2015, 17:00:34 »

Сейчас нет возможности выложить код проекта, но там все по стандарту, делается подключение через socketconnect(адрес сервера, порт) и отправляется через udpwrite.  Отправка сообщения получается шла сразу после подключения и когда я решил попробовать сделать задержку в 1 секунду после подключения, этой ошибки больше не было, сообщение отправляется, но походу из за того что виртуальная машина не настроена, сообщение не приходит на сервер. Может что то посоветуете проверить? Код могу завтра выложить. Если запускать не на qnx то все работает
« Последнее редактирование: 20 Декабрь, 2015, 17:39:40 от _Cepera_ » Записан
Олег Большаков
Легенда

Сообщений: 3140



« Ответ #4 : 20 Декабрь, 2015, 22:29:27 »

Код всего проекта не нужен. Желательно кусочек отвечающий за UDP, который самостоятельно собирается.
Записан
_Cepera_
Пользователь

Сообщений: 41


« Ответ #5 : 21 Декабрь, 2015, 12:53:05 »

//Поток
void CChannelThread :: run()
{
    while(flag)
    {
        if (connection)
        {
            emit connectCH();
            connection = false;
        }
    }
    return;
}
void CChannelThread :: stop()
{
    flag = false;
    deleteLater();
}

//Создаю наследника для соединения.
CSocketThread :: CSocketThread(CSocket * _csocket)
    : CChannelThread(false, _csocket->dataList->module)
{
    csocket = _csocket;
    err = false;
    connect(csocket->udpSocket, SIGNAL(connected()), this, SLOT(connected()));
    connect(this, SIGNAL(connectTrue(quint32)), csocket, SLOT(socketConnected(quint32)));
    connect(this, SIGNAL(connectFalse(quint8)), csocket, SLOT(connectedFalse(quint8)));
    connect(csocket->udpSocket, SIGNAL(error(QAbstractSocket::SocketError)) , this, SLOT(socketError()));
    connect(this, SIGNAL(connectCH()), this, SLOT(socketConnect()));
    timer->start(_csocket->dataList->module->connectProc.maxTime);
    time->start();
    connection = true;
}
void CSocketThread :: socketConnect() // соединение
{
    csocket->udpSocket->connectToHost(csocket->serverAddress, csocket->serverPort);
//Если соединение выполняется успешно, то приходит сигнал с CSoket и выполняется функция stop()
}
void CSocketThread :: socketError()
{
    err = true;
    socketConnect();
}
void CSocketThread :: timeout()
{
    timer->stop();
    if (!err)
        emit connectFalse(1);
    else
        emit connectFalse(2);

    stop();
}

//Отправка сообщения
void CSocket :: udpWrite (QByteArray message, QHostAddress ha, quint16 port)
{
    QDataStream out(&message, QIODevice::WriteOnly);
    out.setVersion(QDataStream::Qt_5_5);
    udpSocket->writeDatagram(message, ha, port);
    MessageList * mdl = dataList->module->messageDataList;
    mdl->append (Name, ha, port, QTime::currentTime(), 1, message);

}
« Последнее редактирование: 21 Декабрь, 2015, 21:04:34 от _Cepera_ » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP © 2002-2024 СВД Встраиваемые Системы.
При использовании материалов сайта ссылка на forum.kpda.ru обязательна.

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines | © Aiwan. Kolobok smiles | Sitemap
Valid XHTML 1.0! Valid CSS!
Сайт СВД ВС

В последний раз google посещал эту страницу 10 Сентябрь, 2023, 07:16:13