Назад | Перейти на главную страницу

TCP keepalive как это работает

Я работаю на Ubuntu, и я хочу использовать TCP keepalive, чтобы реализовать биение между ведущим и ведомым. Оба сервера - мой impl (c ++). Я читал это обзор и немного погуглил. Я не понял, что TCP keepalive отправляет, и я знаю, недействительно ли соединение при использовании в TCP keepalive? Нужно ли мне проверять оживший контент?

Цель состоит в том, чтобы иметь связь между ведущим и ведомым, поэтому в случае отказа одного из них другим будет ведущий. в этом Почта Совет состоит в том, чтобы реализовать функцию Hearbeat с механизмом поддержки активности TCP, поэтому я спрашиваю, как определить разорванное соединение при использовании поддержки активности TCP.

Вы, кажется, путаете механизм поддержки активности TCP с демоном балансировки нагрузки, называемым оставайся живым. Эти двое не имеют ничего общего друг с другом. И если вы пытаетесь обнаружить потерю соединения или проблемы между двумя программами, обе из которых вы написали, вам не нужен ни один из механизмов.

Если вы хотите обнаружить плохое соединение между двумя программами, когда вы написали их обе, просто встроите обнаружение мертвого соединения в код. TCP гарантирует, что отправляющая сторона обнаружит неработающее соединение. Итак, самое простое решение - обеспечить периодическую отправку с обеих сторон. Другое решение - гарантировать, что одна сторона отправляет периодически, а другая сторона объявляет соединение разорванным, если она не получает эти периодические данные.