coundown服务器端执行
在客户端,我们在典型的格式JS柜台:coundown服务器端执行
XX天XX小时XX分XX秒时
,是它让计数。每当计数器达到零时,我想自动关闭注册事件。
我不明白的是如何在服务器端和客户端两种时间同步,从而使cron作业将至少分钟精密占时区进行。我需要吗?除了数据库中'date''time''locale'之外,我还需要什么?
的背景是基于Java +春+ PostgreSQL的
我不需要整个解决方案的Web应用程序 - 而很好的提示(或链接),从哪里开始挖。
如果你需要的是让服务器知道,当倒计时已经在客户端结束,所有你需要做的是,当倒计时完成后发送AJAX请求。
它是另一种方式,但谢谢你:-) – Aubergine 2012-07-10 15:50:58
只是拒绝发送来自客户端的信息,如果在计时器到期
//have customer enter entry information
if (endtime > system.currentTimeMillis())
{
// accept entry
Outputstream.Write(Entry)
{
else
{
"Sorry Registration Closed"
}
另一种方式做,这是倒计时的服务器端,并拒绝入境,如果它是为时已晚。
Entry = Inputstream();
if (system.currentTimeMillis() < endtime)
{
myEntries[x] = Entry;
response = "Entry accepted!"
}
else
{
response = "Entry denied: Registration closed"
}
Outputstream.write(response);
一些想法:
设置页面自动刷新
定期发送一个AJAX请求重新同步。
但是......
在现实中,这将是令人惊讶的客户端和服务器端的时钟过了几个小时明显漂移。一半体面的个人电脑每天不会漂移超过几秒钟。
正在同步时钟准确地在互联网上是一个不平凡的问题,可能不是一个,你会使用基于HTTP的服务来解决。
把这两者结合在一起,我认为定时器的rsyncing可能不值得尝试。
你是什么意思同步时间?例如,你现在是否已经在客户端**和**服务器上倒计时,并且它们正在基于时区计数不同步? – 2012-07-10 12:59:13
在服务器端,你不应该保持一个柜台,甚至cron作业。只需检查注册的时间,如果太晚,请回复错误消息,否则继续。 – Thor84no 2012-07-10 13:01:58
我第二次Thor84no的建议 – Adi 2012-07-10 13:03:58