Как лучше всего реализовать сердцебиение в C++ для проверки подключения к сокету?
Да, это сердцебиение - лучший cpp способ. Вам нужно будет встроить cpp его в протокол, который сервер c++ и клиент используют для связи.
Самым socket-programming простым решением является cxx периодическая отправка данных socket клиентом, а сервер закрывает sockets соединение, если он не получил heartbeat никаких данных от клиента c++ в течение определенного периода c++ времени. Это отлично работает socket для протоколов запроса / ответа, когда cxx клиент отправляет запросы, а cpp сервер отправляет ответы.
Например, вы heartbeat можете использовать следующую heartbeat схему:
-
Сервер отвечает на heartbeat каждый запрос. Если сервер bsd-sockets не получает запрос в течение cxx двух минут, он закрывает cxx соединение.
-
Клиент отправляет sockets запросы и сохраняет соединение socket после каждого из них.
-
Если c++ клиент не отправлял запрос socket в течение одной минуты, он cpp отправляет запрос "вы там". Сервер cpp отвечает "да, я". Это сбрасывает bsd-sockets двухминутный таймер сервера sockets и подтверждает клиенту, что cxx соединение все еще доступно.
Может heartbeat быть проще просто попросить sockets клиента закрыть соединение, если cxx ему не нужно было отправлять c++ запрос в течение последней sockets минуты. Поскольку все операции socket инициируются клиентом, он heartbeat всегда может просто открыть bsd-sockets новое соединение, если ему bsd-sockets нужно выполнить новую операцию. Это heartbeat сводит его к следующему:
-
Сервер sockets закрывает соединение, если socket-programming он не получил запрос в течение bsd-sockets двух минут.
-
Клиент закрывает socket соединение, если ему не нужно bsd-sockets было отправлять запрос в c++ течение одной минуты.
Однако heartbeat это не гарантирует клиенту, что c++ сервер присутствует и всегда cpp готов принять запрос. Если socket-programming вам нужна эта возможность, вам socket-programming нужно будет реализовать в socket-programming своем протоколе запрос / ответ cxx «вы здесь?» «Да, я».
c++
sockets
heartbeat
Как лучше всего реализовать сердцебиение в C++ для проверки подключения к сокету?
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.