|
UniSet
2.2.1
|
#include <TCPCheck.h>
Открытые члены | |
| bool | check (const std::string &_ip, int _port, timeout_t tout, timeout_t sleep_msec=50) |
| bool | check (const std::string &iaddr, timeout_t tout, timeout_t sleep_msec=50) |
| bool | ping (const std::string &_ip, timeout_t tout=1000, timeout_t sleep_msec=200, const std::string &ping_argc="-c 1 -w 0.1 -q -n") |
Защищенные члены | |
| void | check_thread () |
| void | ping_thread () |
| void | setResult (bool s) |
Защищенные данные | |
| std::atomic_bool | result = {false} |
| std::string | ip = {""} |
| int | port = {0} |
| int | tout_msec |
| std::string | ping_args = {"-c 1 -w 0.1 -q -n"} |
Вспомогательный класс для проверки связи, реализованный через создание потока, чтобы при проверке не было "зависания" при недоступности адреса. Смысл: создаётся поток, в нём происходит проверка, а в вызвавший поток приостанавливается на время timeout, по истечении которого созданный поток "принудительно"(в любом случае!) уничтожается..
| bool TCPCheck::check | ( | const std::string & | _ip, |
| int | _port, | ||
| timeout_t | tout, | ||
| timeout_t | sleep_msec = 50 |
||
| ) |
Проверка связи с сервисом на определённом порту
| _ip | - ip проверяемого узла |
| _port | - порт для проверяемого узла |
| tout | - таймаут на попытку |
| sleep_msec | - пауза между проверками результата |
Для проверки идёт попытка открыть соединение, но данные не посылаются, а соединение сразу закрывается.
Перекрестные ссылки PassiveTimer::checkTime() и msleep().
Используется в check().
| bool TCPCheck::check | ( | const std::string & | iaddr, |
| timeout_t | tout, | ||
| timeout_t | sleep_msec = 50 |
||
| ) |
| iaddr | - 'ip:port' |
Перекрестные ссылки check() и UniSetTypes::uni_atoi().
| bool TCPCheck::ping | ( | const std::string & | _ip, |
| timeout_t | tout = 1000, |
||
| timeout_t | sleep_msec = 200, |
||
| const std::string & | ping_argc = "-c 1 -w 0.1 -q -n" |
||
| ) |
Проверка связи с узлом командой ping
Перекрестные ссылки PassiveTimer::checkTime() и msleep().
1.7.6.1