PIP 5.6.1
Platform-Independent Primitives
Открытые члены | Полный список членов класса
Класс PIClientServer::Server

Реализация TCP сервера для клиент-серверного взаимодействия. Принимает входящие соединения и управляет несколькими клиентами с настраиваемой фабрикой для создания экземпляров клиентов. Подробнее...

#include <piclientserver_server.h>

Граф наследования:PIClientServer::Server:
Inheritance graph
[см. легенду]

Открытые члены

 Server ()
 Создает остановленный сервер с ограничениями по умолчанию.
 
virtual ~Server ()
 Останавливает сервер и освобождает транспортные ресурсы.
 
void listen (PINetworkAddress addr)
 Начинает принимать клиентов по адресу "addr".
 
void listenAll (ushort port)
 Начинает прослушивание на всех интерфейсах на порту "port". Подробнее...
 
void stopServer ()
 Прекращает прием клиентов и завершает работу сервера.
 
void closeAll ()
 Закрывает все текущие клиентские соединения. Подробнее...
 
int getMaxClients () const
 Возвращает настроенный максимум одновременных клиентов.
 
void setMaxClients (int new_max_clients)
 Устанавливает максимальное число одновременных клиентов. Подробнее...
 
int clientsCount () const
 Возвращает текущее количество подключенных клиентов.
 
void forEachClient (std::function< void(ServerClient *)> func)
 Вызывает "func" для каждого текущего подключенного клиента.
 
void setClientFactory (std::function< ServerClient *()> f)
 Устанавливает фабрику, создающую объекты принятых клиентов.
 
- Открытые члены унаследованные от PIStreamPackerConfig
 PIStreamPackerConfig ()
 Создает конфигурацию с параметрами пакетирования по умолчанию.
 
void setMaxPacketSize (int max_size)
 Устанавливает максимальный размер одного отправляемого фрагмента.
 
int maxPacketSize () const
 Возвращает максимальный размер одного отправляемого фрагмента.
 
void setPacketSign (ushort sign_)
 Устанавливает сигнатуру пакета для поиска границ кадра.
 
ushort packetSign () const
 Возвращает сигнатуру пакета.
 
void setaAggressiveOptimization (bool yes)
 Включает более быструю ресинхронизацию при неверных данных в потоке. Подробнее...
 
bool aggressiveOptimization () const
 Возвращает, включена ли агрессивная ресинхронизация.
 
bool cryptSizeEnabled () const
 Возвращает, шифруется ли также поле размера пакета.
 
void setCryptSizeEnabled (bool on)
 Включает или выключает шифрование поля размера пакета.
 
const PIStreamPackerConfigconfiguration () const
 Возвращает конфигурацию как константную ссылку на себя.
 
PIStreamPackerConfigconfiguration ()
 Возвращает конфигурацию как изменяемую ссылку на себя.
 
void setConfiguration (const PIStreamPackerConfig &config)
 Заменяет текущую конфигурацию пакетирования на "config".
 
- Открытые члены унаследованные от PIEthUtilBase
 PIEthUtilBase ()
 Создает помощник с выключенным слоем шифрования.
 
 ~PIEthUtilBase ()
 Уничтожает помощник шифрования.
 
void setCryptEnabled (bool on)
 Включает или выключает слой шифрования.
 
void cryptEnable ()
 Включает слой шифрования.
 
void cryptDisable ()
 Выключает слой шифрования.
 
bool isCryptEnabled () const
 Возвращает, включен ли слой шифрования.
 
void setCryptKey (const PIByteArray &k)
 Устанавливает ключ шифрования "k" и включает слой шифрования.
 
void createCryptKey (const PIString &k)
 Генерирует ключ шифрования из парольной фразы "k" и включает слой шифрования.
 
PIByteArray cryptKey () const
 Возвращает текущий ключ шифрования.
 

Дополнительные унаследованные члены

- Открытые статические члены унаследованные от PIEthUtilBase
static size_t cryptSizeAddition ()
 Возвращает дополнительный размер, добавляемый шифрованием.
 
- Защищенные члены унаследованные от PIEthUtilBase
PIByteArray cryptData (const PIByteArray &data)
 Шифрует "data", если слой шифрования включен.
 
PIByteArray decryptData (const PIByteArray &data)
 Дешифрует "data", если слой шифрования включен. Подробнее...
 

Подробное описание

Реализация TCP сервера для клиент-серверного взаимодействия. Принимает входящие соединения и управляет несколькими клиентами с настраиваемой фабрикой для создания экземпляров клиентов.

Методы

◆ listenAll()

void PIClientServer::Server::listenAll ( ushort  port)
inline

Начинает прослушивание на всех интерфейсах на порту "port".

Эквивалентно listen({0, port}), привязывается ко всем доступным сетевым интерфейсам.

◆ closeAll()

void PIClientServer::Server::closeAll ( )

Закрывает все текущие клиентские соединения.

Немедленно закрывает все активные клиентские соединения без остановки сервера.

◆ setMaxClients()

void PIClientServer::Server::setMaxClients ( int  new_max_clients)

Устанавливает максимальное число одновременных клиентов.

Устанавливает максимальное количество одновременных клиентских подключений. По умолчанию 1000.