crossplatform.ru

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

> Использование сокетов в QThread
iCast
  опции профиля:
сообщение 24.1.2014, 10:07
Сообщение #1


Студент
*

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

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




Репутация:   0  


Добрый день! Столкнулся с таким вопросом. В примерах есть клиент-серверное приложение, где на сервере есть унаследованный класс от QThread, который реализует многопоточнь отслаемых данных на клиент.
в файле fortunethread.cpp переопределена функция run()
void FortuneThread::run()
{
    QTcpSocket tcpSocket;
//! [1] //! [2]
    if (!tcpSocket.setSocketDescriptor(socketDescriptor)) {
        emit error(tcpSocket.error());
        return;
    }
//! [2] //! [3]

    QByteArray block;
    QDataStream out(&block, QIODevice::WriteOnly);
    out.setVersion(QDataStream::Qt_4_0);
    out << (quint16)0;
    out << text;
    out.device()->seek(0);
    out << (quint16)(block.size() - sizeof(quint16));
//! [3] //! [4]

    tcpSocket.write(block);
    tcpSocket.disconnectFromHost();
    tcpSocket.waitForDisconnected();
}
//! [4]

Есть такая строка
QTcpSocket tcpSocket;

Это я так понял сокет подключившегося пользователя?
Откуда эта функция узнает какому имеено клиенту передавать?
Просто также переопределил функцию у себя, но ничего серверу не отсылается.
Вообщем помогите разобраться как эта функция передает text клиентам
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


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


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




RSS Текстовая версия Сейчас: 28.4.2024, 23:43