crossplatform.ru

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

> Вопрос по примеру Threaded Fortune Server
Andrewshkovskii
  опции профиля:
сообщение 31.3.2009, 22:18
Сообщение #1


Активный участник
***

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

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




Репутация:   1  


есть там переменная, отвечающая за tcp порт ( socketDescriptor), так вот, каким образом она инициализируется в программе?Т.е. откуда берет значения порта?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
igor_bogomolov
  опции профиля:
сообщение 1.4.2009, 1:42
Сообщение #2


Профессионал
*****

Группа: Сомодератор
Сообщений: 1215
Регистрация: 22.3.2009
Из: Саратов
Пользователь №: 630

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




Репутация:   29  


Цитата(Andrewshkovskii @ 31.3.2009, 23:18) *
каким образом она инициализируется в программе?Т.е. откуда берет значения порта?

Берется она здесь (файл - fortuneserver.cpp):
void FortuneServer::incomingConnection(int socketDescriptor)
{
    .......
}

Т.е. когда возникает новое соединение, socketDescriptor передается как параметр.
Дальше, этот дескриптор устанавливается соккету (файл - fortunethread.cpp)
ivoid FortuneThread::run()
{
    QTcpSocket tcpSocket;
    if (!tcpSocket.setSocketDescriptor(socketDescriptor)) {
        emit error(tcpSocket.error());
        return;
    }
    .....// все данные переданные по соккету попадут только к тому клиенту, который запросил соединение.
}
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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


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




RSS Текстовая версия Сейчас: 19.4.2024, 18:17