crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Слоты и Потоки
Nokin
  опции профиля:
сообщение 30.9.2008, 11:54
Сообщение #1


Студент
*

Группа: Новичок
Сообщений: 17
Регистрация: 12.8.2008
Пользователь №: 262

Спасибо сказали: 0 раз(а)




Репутация:   0  


Правильно ли я понимаю, что слоты
class CxConnectionThread :public QThread
{
    Q_OBJECT

    ...

    private slots:
    void newConnection( CxConnection *pConnection);
    void connectionError( QAbstractSocket::SocketError socketError);
    void disconnected();
    void destroyed( QObject *pObj = 0);
    ...
}
будут для данного примера выполняться в дочернем потоке, а не в основном?

P.S. Прошу прощения, что поднимаю старую тему.
---
Полный код примера
Причина редактирования: Добавил ссылку на полный код примера
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
512es
  опции профиля:
сообщение 31.10.2008, 12:27
Сообщение #2


Участник
**

Группа: Участник
Сообщений: 135
Регистрация: 31.10.2008
Пользователь №: 407

Спасибо сказали: 5 раз(а)




Репутация:   0  


Здравствуйте!)

правильно ли я понимаю?


class NetThread : public QThread
{
    Q_OBJECT
...
private slots:
    void onReadyRead();
};

void NetThread::run()
{
    tcpSocket = new QTcpSocket;
    if (!tcpSocket->setSocketDescriptor(socketDescriptor)) {
        emit error(tcpSocket->error());
        return;
    }
    connect(tcpSocket, SIGNAL(readyRead()), this, SLOT(onReadyRead()));
    exec();
    tcpSocket->disconnectFromHost();
    if(tcpSocket->state() != QAbstractSocket::UnconnectedState) tcpSocket->waitForDisconnected();    
}

void NetThread::onReadyRead()
{
...
}


сигнал onReadyRead будет выполнен в главном потоке, а не в том, в котором создавался сокет?
хочу чтобы сервер выделял отдельный поток на каждого клиента, т.е. каждое соединение.

если этот пример не правилен тогда как это реализовать? QCustomEvent? не совсем понимаю как его тут задействовать..
обмениваться данными между дочерними потоками мне не надо. надо только чтобы главный поток мог посылать задания дочерним а дочерние овтечали главному.. читать данные от клиентов лучше в дочернем потоке (в том где было создано соединение)
(уф.. вроде объяснил)

заранее спасибо =)

Цитата(512es @ 31.10.2008, 12:21) *
...сигнал onReadyRead будет выполнен...

всмысле слот =)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- Nokin   Слоты и Потоки   30.9.2008, 11:54
- - AD   Очень даже здорово, что подняли! Мне тоже инт...   30.9.2008, 12:25
- - ViGOur   Цитата(Nokin @ 30.9.2008, 12:54) будут дл...   30.9.2008, 12:29
- - anonymous   Слоты будут выполняться в основном потоке. Дочерни...   30.9.2008, 15:54
- - ViGOur   Цитата(Гость_anonymous_* @ 30.9.2008, 16...   30.9.2008, 17:29
|- - AD   Большая просьба: пожалуйста, соедините темы, котор...   30.9.2008, 17:34
|- - anonymous   Цитата(ViGOur @ 30.9.2008, 17:29) Цитата(...   30.9.2008, 18:10
- - Litkevich Yuriy   Цитата(AD @ 30.9.2008, 21:34) соедините т...   30.9.2008, 17:56
- - anonymous   В добавок к предыдущему посту: ЦитатаThe code tha...   30.9.2008, 18:12
- - ViGOur   Цитата(Гость_anonymous_* @ 30.9.2008, 19...   30.9.2008, 18:24
- - 512es   Здравствуйте!) правильно ли я понимаю? clas...   31.10.2008, 12:27
- - kuler   в главном потоке есть листвиджет, в созданном вызы...   5.11.2008, 12:24
- - Litkevich Yuriy   дак виджеты вроде только в главном потоке создаютс...   5.11.2008, 14:09
- - kuler   в билдере есть такая штука Syncronize, как раз для...   5.11.2008, 14:15
- - Litkevich Yuriy   Цитата(kuler @ 5.11.2008, 17:15) cannot c...   5.11.2008, 14:21
- - kuler   Цитата(Litkevich Yuriy @ 5.11.2008, 14:21...   5.11.2008, 14:43
- - Litkevich Yuriy   Цитата(kuler @ 5.11.2008, 17:43) (QThread...   5.11.2008, 15:20
- - kuler   можно написать так QMainWindow::connect((QThread*)...   5.11.2008, 15:27
- - Litkevich Yuriy   Цитата(kuler @ 5.11.2008, 18:27) можно на...   5.11.2008, 15:34
- - kuler   Цитата(Litkevich Yuriy @ 5.11.2008, 15:34...   5.11.2008, 15:42
- - Litkevich Yuriy   Цитата(kuler @ 5.11.2008, 18:42) ибо есть...   5.11.2008, 15:46
- - kuler   Цитата(Litkevich Yuriy @ 5.11.2008, 15:46...   5.11.2008, 15:51
- - Litkevich Yuriy   Цитата(kuler @ 5.11.2008, 18:51) где напи...   5.11.2008, 16:06
- - kuler   Цитата(Гость_anonymous_* @ 30.9.2008, 18...   6.11.2008, 17:23
- - kuler   а если делаешь emit то обработчик (в этом же поток...   18.12.2008, 14:32
- - SABROG   Слот вызовется сразу и вызов будет в том же потоке...   18.12.2008, 15:02
- - kuler   Цитата(SABROG @ 18.12.2008, 15:02) и возв...   18.12.2008, 15:37
- - Litkevich Yuriy   kuler, как я понял для случая однопоточного прилож...   18.12.2008, 15:49
- - kuler   Цитата(Litkevich Yuriy @ 18.12.2008, 15:4...   18.12.2008, 16:34
- - Litkevich Yuriy   Цитата(kuler @ 18.12.2008, 19:34) и вспом...   18.12.2008, 17:04
- - Litkevich Yuriy   предлагаю этой темой пополнить ЧаВО: Сигналы и сло...   27.12.2008, 18:18


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


8 чел. читают эту тему (гостей: 8, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 22.1.2025, 22:09