Skip to content

oxaide/Qt-tcp-client-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

Однопоточный Tcp клиент-сервер, написанный с использование библиотеки Qt 4.8.


Клиент подключается к серверу и посылает определенный запрос. На основе полученных данных сервер отправляет ответ. Клиент сообщает пользователю какой запрос был отправлен на сервер и какой ответ был получен. При каждом запросе сервер выводит в консоль полученный запрос, ответ, а так же список всех ключей и их значения. Для удобства проверки работоспособности, сервер уже хранит некоторые ключи и значения.

Сборка:

Проверяем какую версию Qt использует qmake:

qmake --version

Результать должен быть примерно таким:

QMake version 2.01a
Using Qt version 4.8.7 in /usr/lib/x86_64-linux-gnu

Если версия Qt более новая выполняем следующее:

sudo apt-get install qt4-qmake

sudo apt-get install qt4-default

Создаем *.pro файл:

qmake -project

Затем добавляем в созданный файл следующую строку:

QT += network

Выполняем опять qmake для создания Makefile:

qmake

Теперь выполняем команду make для сборки проекта:

make 

Готово. Теперь сервер/клиент готов к запуску.

Запуск:

Сервер: ./server port

Пример:

./server 8888

Клиент: ./client ip port request key value

ip — ip адрес сервера, на который будет отправлен запрос

port — порт сервера

request — запрос (строка) вида get или set

key — ключ (число) по которому будет происходить поиск/установка значения

value — в случае set запроса, устанавливаемое значение по указанному ключу. В случае get запроса параметр не указывается

Примеры:

./client 127.0.0.1 8888 set 1 abc

./client 127.0.0.1 8888 get 2

В случае неправильного запроса клиент сообщит об ошибке и завершит приложение.

Пример неправильного запроса: ./client 127.0.0.1 8888 set 3 (не указано значение для ключа)

Ссылки:

http://doc.qt.io/qt-4.8/qt-network-fortuneserver-example.html

http://doc.qt.io/qt-4.8/qt-network-fortuneclient-example.html

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published