Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Qt и кроссплатформенное программирование С/С++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.08.2016, 18:00   #1
N1VaL
Пользователь
 
Регистрация: 24.02.2012
Сообщений: 19
По умолчанию QTcpServer в потоке, связать сигналы

Доброго времени суток, не как не могу разобраться с потоками в Qt.

Пишу приложение с интерфейсом на QML, создаю сокет-сервер по средствам которого будет подцепляться сторонняя программа в которую будут передаваться данные выбранные в QML, дальше они обрабатывается и возвращаються обратно.

Проблема в следующем:

При создании сервера и подключении клиента(в нашем случае сторонняя программа) создается новый поток, в методе run ()

Код:
socket = new QTcpSocket();
    if (!socket->setSocketDescriptor(this->socketDescriptor))
    {

        emit error(socket->error());
        return;
    }
        
connect(socket,&QTcpSocket::readyRead,this,&MThread::slotReadData,Qt::DirectConnection);
    connect(socket,SIGNAL(disconnected()),this,SLOT(disconnected()),Qt::DirectConnection);

 connect(this->s,&Sender::signalGetFindString,this,&MThread::slotSendData,Qt::DirectConnection);
//    connect(this,&MThread::signalSetView_table,this->s,&Sender::slotSetView_table,Qt::DirectConnection);
    qDebug()<<socket->socketDescriptor()<<" Client Connected";
    exec();
Класс Sender у меня служит как обмен данными между QML и C++.

Так вот вопрос, не получается послать данные в сокет, они посылаються но не читаются. ошибка следующего характера:

Код:
QObject: Cannot create children for a parent that is in a different thread.
(Parent is QNativeSocketEngine(0x31e3bc70), parent's thread is MThread(0x31e0fc28), current thread is QThread(0x1e3397c0)
Направьте на путь истинный)) Заранее благодарю.
N1VaL вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Три фиксированных положения слайдера связать с id к, слайдер связать с id кнопок Allex74 JavaScript, Ajax 0 01.09.2013 16:32
Как из метода X в потоке А, вызвать метод Y и чтобы он работал в потоке B ? lawliet93 C# (си шарп) 0 09.03.2013 18:16
Работа с QTcpServer и QTcpSocket (Qt, C++). 0x44616E69696C Помощь студентам 2 05.01.2013 01:25
Создание/изменение/удаление файлов в потоке. Мониторинг файлов в потоке. The Real Kos Общие вопросы Delphi 5 22.10.2012 23:58
QTcpServer и прием команд от telnet niklep Qt и кроссплатформенное программирование С/С++ 2 02.05.2011 22:49