Получение данных на сервере? |
Здравствуйте, гость ( Вход | Регистрация )
Получение данных на сервере? |
V7T |
21.10.2011, 16:08
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 5 Регистрация: 11.10.2011 Пользователь №: 2939 Спасибо сказали: 0 раз(а) Репутация: 0 |
Здравствуйте, пишу клиент/серверное приложение, я использую FortuneClient и ThreadedFortuneServer из SDK QT.
Все бы ничего, но ни как не могу понять (это первое мое приложение в QT и собственно в линуксе), принцип получения данных на сервере. В самих примерах все достаточно просто, но там данные отправляются клиенту, который их принимает, перед этим отправив запрос. Собственно вот часть кода клиента: часть кода сервера:
В коде сервера явно не все впорядке (возможно и клиенте) , и Вас уважаемые гуру наверно . Правильно ли данные отправляются? Может стоит создать connect(сокет,сигнал(readyRead()),...,slot(..)), впринципе, что я только не делал, все одно - ничего)). Не первый день пытаюсь разобраться, окончательно запутался. Подскажите, пожалуйста. |
|
|
silver47 |
22.10.2011, 6:52
Сообщение
#2
|
Активный участник Группа: Участник Сообщений: 356 Регистрация: 1.4.2010 Пользователь №: 1584 Спасибо сказали: 40 раз(а) Репутация: 6 |
ThreadedFortuneServer устроен таким образом, что при новом соединении создается новый поток, а в нем, в свою очеред создается новый сокет. В сокет вываливается некая фраза, затем сокет на серверной стороне завершается и поток прибивается.
Обычно же, работа клиент-серверного ПО выглядит так: - клиент подключается к серверу - создается новый поток - создается сокет - клиент отправляет запрос - сервер принимет запрос (сигнал ReadyRead() сокета) - сервер отвечает клиенту - клиент принимает ответ (сигнал ReadyRead() сокета клиента) - клиент отключается - уничтожается сокет - уничтожается поток (сигнал finished() и слот DeleteLater() потока) P.S. где-то уже не так давно выкладывал я для кого-то пример. Нашел. В примере создается сервер, который вываливает в qDebug все что получает. При дисконекте клиента, сокет и поток удаляются Сообщение отредактировал silver47 - 22.10.2011, 7:02
Прикрепленные файлы
|
|
|
Текстовая версия | Сейчас: 28.1.2025, 16:17 |