Форум программистов
 
Расширенный поиск
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

Ответ
 
Опции темы
Старый 24.08.2016, 19:00   #1
N1VaL
Пользователь
 
Регистрация: 24.02.2012
Сообщений: 19
Репутация: 10
По умолчанию 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 вне форума   Ответить с цитированием
Ответ



Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Три фиксированных положения слайдера связать с 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




21:10.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

купить трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru