UniSet 2.32.1
Открытые статические члены | Полный список членов класса
Класс uniset::TCPCheck

#include <TCPCheck.h>

Открытые статические члены

static bool check (const std::string &_ip, int _port, timeout_t tout) noexcept
 
static bool check (const std::string &iaddr, timeout_t tout) noexcept
 
static bool ping (const std::string &_ip, timeout_t tout=1100, const std::string &ping_argc="-c 1 -w 1 -q -n") noexcept
 

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

Вспомогательный класс для проверки связи, реализованный через создание потока, чтобы при проверке не было "зависания" при недоступности адреса. Смысл: создаётся поток, в нём происходит проверка, а вызвавший поток приостанавливается на время timeout, по истечении которого созданный поток "принудительно"(в любом случае!) уничтожается..

Методы

◆ check() [1/2]

bool uniset::TCPCheck::check ( const std::string & _ip,
int _port,
timeout_t tout )
staticnoexcept

Проверка связи с сервисом на определённом порту

Аргументы
_ip- ip проверяемого узла
_port- порт для проверяемого узла
tout- таймаут на попытку

Для проверки идёт попытка открыть соединение, но данные не посылаются, а соединение сразу закрывается.

Заметки
Нужно быть уверенным, что сервис не зависнет от таких попыток "соединений"

◆ check() [2/2]

bool uniset::TCPCheck::check ( const std::string & iaddr,
timeout_t tout )
staticnoexcept
Аргументы
iaddr- 'ip:port'

◆ ping()

bool uniset::TCPCheck::ping ( const std::string & _ip,
timeout_t tout = 1100,
const std::string & ping_argc = "-c 1 -w 1 -q -n" )
staticnoexcept

Проверка связи с узлом командой ping

Заметки
Вызывается через system()! Это может быть опасно с точки зрения безопасности..