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

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

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=1000, const std::string &ping_argc="-c 1 -w 0.1 -q -n") noexcept
 

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

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

Методы

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

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

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

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

Заметки
Нужно быть уверенным, что сервис не зависнет от таких попыток "соединений"
bool uniset::TCPCheck::check ( const std::string &  iaddr,
timeout_t  tout 
)
staticnoexcept
Аргументы
iaddr- 'ip:port'
bool uniset::TCPCheck::ping ( const std::string &  _ip,
timeout_t  tout = 1000,
const std::string &  ping_argc = "-c 1 -w 0.1 -q -n" 
)
staticnoexcept

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

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