![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
Andrewshkovskii |
![]()
Сообщение
#1
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 351 Регистрация: 27.12.2008 Пользователь №: 467 Спасибо сказали: 18 раз(а) Репутация: ![]() ![]() ![]() |
есть там переменная, отвечающая за tcp порт ( socketDescriptor), так вот, каким образом она инициализируется в программе?Т.е. откуда берет значения порта?
|
|
|
ViGOur |
![]()
Сообщение
#2
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
Как я понял socketDescriptor это числовое представление описателя соединения. Виндовый HANDLE или если быть точнее SOCKET.
Если я не правильно понял, поправьте меня. ![]() p.s. завтра нужно будет глянуть исходники... |
|
|
igor_bogomolov |
![]()
Сообщение
#3
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: ![]() ![]() ![]() |
каким образом она инициализируется в программе?Т.е. откуда берет значения порта? Берется она здесь (файл - fortuneserver.cpp):
Т.е. когда возникает новое соединение, socketDescriptor передается как параметр. Дальше, этот дескриптор устанавливается соккету (файл - fortunethread.cpp)
|
|
|
Andrewshkovskii |
![]()
Сообщение
#4
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 351 Регистрация: 27.12.2008 Пользователь №: 467 Спасибо сказали: 18 раз(а) Репутация: ![]() ![]() ![]() |
Да не, вопрос в том, там же откуда-то берется значение явное(допустим, 6138), так вот, откуда возвращается это значение?из какого вызова?я конечно могу и так оставить, но надо разбираться в том, что пишешь...
|
|
|
igor_bogomolov |
![]()
Сообщение
#5
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: ![]() ![]() ![]() |
Где там? Ткните(файл, строка)
![]() А так можно получить методом
|
|
|
Andrewshkovskii |
![]()
Сообщение
#6
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 351 Регистрация: 27.12.2008 Пользователь №: 467 Спасибо сказали: 18 раз(а) Репутация: ![]() ![]() ![]() |
Проще : я не вижу , где int-переменной socketDescriptor присваивается какое-либо целочисленное значение.
Вопрос 2 : Мне необходимо на сервера(аналог threaded fortune server) обрабатывать запросы клиента : 1. Запрос на соединение, т.е информируем сервер о том, что клиент законнектился и ему надо скинуть данные. 2. Запрос на повторную передачу данных , т.е. при запросе 1 передали , допустим, 10 строчек QString из QStringList, клиент их обработал, и необходимо передать другие 10 строчек. 3. Запрос на передачу данных от клиент, т.е. клиент передает обработанные данные на сервер, сервер уже их сохраняет, допустим, в файл. Отсюда : обработку этих запросов осуществлять в функции потока-клиента Run(), или же отдельно? Прощу подсказать, т.к с клиент-сервер приложениями сталкиваюсь впервые.. Сообщение отредактировал Andrewshkovskii - 1.4.2009, 16:09 |
|
|
igor_bogomolov |
![]()
Сообщение
#7
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: ![]() ![]() ![]() |
я не вижу , где int-переменной socketDescriptor присваивается какое-либо целочисленное значение. Здесь получили socketDescriptor как параметр и передали в конструктор класса FortuneThread
Далле присвоение происходит здесь
Вот и все ![]() |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 27.4.2025, 6:57 |