Диагностика подключения к серверу

pastor
Дата: 02.05.2012 11:19:42
Не подскажут ли великодушные доны, чем грозит проверка существования соединения с сервером путем поддержания открытого сокета на порту 3050?

1. Устанавливаем соединение с серверром по TCP с нужными KeepAlive и пр.
2. Ничего туда не пишем и не читаем. Ждем событий сокета.
3. Если сервер (или канал) сдох - быстренько переключаем пул на резерв.

Соединение открывается/закрывается каждые 30 мин (заодно делает resolve для hostname).
Dimitry Sibiryakov
Дата: 02.05.2012 11:30:14

Живость канала и сервера намного лучше проверяет пинг. Если сдох Firebird, то достаточно в
DNS указать два адреса для имени и клиент 2.5 автоматически будет использовать второй если
не смог подключиться к первому.

Posted via ActualForum NNTP Server 1.5

pastor
Дата: 02.05.2012 11:43:02
Dimitry Sibiryakov
Живость канала и сервера намного лучше проверяет пинг. Если сдох Firebird, то достаточно в
DNS указать два адреса для имени и клиент 2.5 автоматически будет использовать второй если
не смог подключиться к первому.


Пинг это нагрузка. Обрыв сокета - событие.
Резерв - это не обязательно FB.
Мимопроходящий
Дата: 02.05.2012 11:46:22

Hello, pastor!
You wrote on 2 мая 2012 г. 11:46:12:

pastor
Обрыв сокета - событие.
нет такого события.

Posted via ActualForum NNTP Server 1.5

Dimitry Sibiryakov
Дата: 02.05.2012 11:47:51

pastor
Пинг это нагрузка. Обрыв сокета - событие.

Бредишь. ping-пакеты ничем технически не отличаются от kee-alive пакетов.

Posted via ActualForum NNTP Server 1.5

pastor
Дата: 02.05.2012 11:57:10
Мимопроходящий
Hello, pastor!
You wrote on 2 мая 2012 г. 11:46:12:

pastor
Обрыв сокета - событие.
нет такого события.


WSAWaitForMultipleEvents
Мимопроходящий
Дата: 02.05.2012 12:01:04

Hello, pastor!
You wrote on 2 мая 2012 г. 12:00:59:

pastor
WSAWaitForMultipleEvents

вы, шариков, ерундой говорите.

Posted via ActualForum NNTP Server 1.5

pastor
Дата: 02.05.2012 12:09:22
Мимопроходящий
Hello, pastor!
You wrote on 2 мая 2012 г. 12:00:59:

pastor
WSAWaitForMultipleEvents

вы, шариков, ерундой говорите.


Тем не менее, при ошибке сокета что-то важное происходит, статус расшифровке поддается. И (sic!), делаются далеко идущие выводы!
Мимопроходящий
Дата: 02.05.2012 12:10:07

Hello, pastor!
You wrote on 2 мая 2012 г. 12:09:51:

pastor
Тем не менее, при ошибке сокета что-то важное происходит,
статус расшифровке поддается. И (sic!), делаются далеко идущие выводы!
флаг в руки.

Posted via ActualForum NNTP Server 1.5

pastor
Дата: 02.05.2012 12:12:33
Dimitry Sibiryakov
pastor
Пинг это нагрузка. Обрыв сокета - событие.

Бредишь. ping-пакеты ничем технически не отличаются от kee-alive пакетов.


как это ничем? пинг пакеты должен делать я, а keep-alive сделают за меня.

PS вся эта мутотень затевается еще и из-за экономии на GetHostByName для пула потоков это ощутимо, особенно при потере канала к DNS серверу.