Я делаю заявление, где у меня есть клиент и сервер. Клиент отправит некоторые координаты на сервер, который будет использовать их для перемещения робота. То, что я хочу, — это синхронизировать таймеры, используемые для данных журнала отметок времени, чтобы я мог сравнить входные и выходные данные. Связь осуществляется через TCP / IP, а клиент — на C ++, а сервер — на RAPID (язык программирования ABB). Моя проблема в том, что таймеры не синхронизированы должным образом.
Прямо сейчас таймеры запускаются, когда установлено соединение между ними:
Сторона сервера:
ListenForConnection;
StartTimer;
Сторона клиента:
connectToServer;
StartTimer;
Это не работает. Существует ли метод, обеспечивающий синхронизацию таймеров?
Примечание: сервер может быть подключен только через локальную сеть.
Вам нужен протокол между клиентом и сервером, чтобы передать отметку времени.
Прямо сейчас, возможно, у вас есть протокол для отправки координат. Вам нужно как-то расширить это, чтобы одна сторона могла передавать информацию о таймере другой стороне.
Самый простой, если у вас есть возможность двусторонней связи. В этом случае клиент делает
Если у сервера нет способа отправить клиенту, клиенту необходимо время от времени отправлять временную метку, которую сервер распознает как время, а не как координату. Два не будут синхронизированы, пока это не произойдет в первый раз.