Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Синхронизация с сервером


Автор: AGENTxXx 14.3.2012, 11:49
Добрый день! Хотелось бы услышать ваши мнения как решить сделущую задачу:
Есть 2 приложения: один админ, другой - клиент. Общаться др. с др. могут только через сервер.
Когда админ начинает игру, он может послать время на сервер, а клиент может считать это время.
Но как сделать так, чтобы время как можно с меньшей погрешностью?

Как я сейчас вижу, нужно сделать так, чтобы когда админ отправил время он слушал от сервера ответ, а ответ поступит только тогда, когда клиент прочитает это время. Но я не знаю каким образом можно это сделать, а именно - чтобы админ слушал постоянно ответ от сервера, а не по таймеру... Ну если иначе нельзя, то видно по таймеру прийдется делать!

Очень нужны ответы... Можно сказать проект уже горит.
Буду очень благодарен.

PS: используем java script и сервер - php. Использование скриптов на стороне сервера - не вариант, так как не успеем это реализовать просто....

Жду, жду, жду!!!!!!!

Автор: skyboy 14.3.2012, 12:29
https://www.google.com.ua/search?q=permanent+connection+javascript, возможно, то, что ты ищешь.

Автор: AGENTxXx 14.3.2012, 16:11
Это было не совсем то...
Вообще то нужно что то типа постоянного слушателя... Кто прогал на том же C# думаю поймет. Принцип создания клиент-серверного приложения.
В данном случае решил проблему следующем образом:
админ посылает запрос на сервер. В это время в таблицу записывается время обращения админа. А далее когда клиент посылает запрос от сервера высчитывается разница между текущим временем и временем обращения аднима и получаем число, которое нужно вычисть из времени у клиента => время на приложении админа и приложении клиента - будет одинаково! Использовал функцию time(), так как мне нужно было до точности - секунды.

Если есть еще у кого-то лучшее предложение - пишите! =)

Автор: ksnk 14.3.2012, 17:03
Так это просто синхронизация времени? А просто синхронизироваться по серверу почему нельзя?

Автор: AGENTxXx 18.3.2012, 20:05
Да в общем я так и сделал... Просто почему то сразу не получилось "вычислить" данный способ. А так как проек можно сказать, что уже горел, то пришлось сюда написать, чтобы попробовать ускорить данное решение. в общем, сейчас все нормально работает! Всем спасибо! =)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)