Проверка отправленных пакетов в сети в реальном времени с использованием SFML
Я строю сетевую программу, которая передает графические изменения на 2D-экран с библиотеками SFML UDP.
Я хочу запускать почти все процессы на хост-сервере и отправлять клиенту только графические обновления и возвращаемые значения команд.
Я хочу проверить условие перед отправкой данных на экраны с обеих сторон соединения. Я думал об отправке одного байта как 0 или 1, чтобы представить успешный прием данных и синхронизировать.
(см. схему)
Server-------( updates )----->Client
| |
( wait for )<---( 1 or 0 )-----Send Byte
| |
( if 1 ) ( if byte received )
| |
Screen Screen
Кажется логичным пинговать взад и вперед, чтобы убедиться, что данные были проверены на обоих концах, прежде чем обновлять экран, а затем запустить другую итерацию того же самого (конечно, на неопределенный срок).
У меня вопрос, используя SFML, есть ли смысл отправлять 1/0, или он будет проверять сам, т.е. с возвращаемым значением при отправке данных?
Кроме того, медленнее ли посылать этот один байт по сети, а не делать что-то еще, например, пытаться синхронизировать время? Возможно, есть лучший способ сделать это с FPS?
Ответы с точки зрения SFML, вероятно, будут лучшими.