动态获取server时间
近期在做的这个项目要获取到后台的数据。然后使用html5绘制曲线。曾经都是在自己电脑上使用没有发现有什么不正常的地方,昨天连接同事的server发现有段数据怎么都对不上了,開始我还以为程序有问题呢,找了半天结构发现是我的电脑时间和同事的电脑时间对不上导致的。既然发现了问题以下就是找出解决的方法了。
实际上最好的解决的方法是固定client的时间,不然改动,但你会发现这个不可能的。所以仅仅有找其它方式的。
再有就是获取server时间然后同步到client了。实际上这个游戏三种方式可行。
1、既然是动态获取就每秒获取一次。这样能完毕需求可是会非常大的添加server的压力。
2、获取玩一次后,然后在client进行更新。这个能保证在開始的时候获取到的数据时正确的。可是后期不能保证数据的正确性。
3、在開始的时候获取一次,以后每过分钟再获取一次,这样能非常大程度上降低server的压力,也能非常大程度上保证数据的正确性。
获取server时间:
/**
* 获取server时间
*/
function getServerTime()
{
<span style="white-space:pre"> </span>nowTime = new Date().getTime();
<span style="white-space:pre"> </span>$.ajax(
<span style="white-space:pre"> </span>{
<span style="white-space:pre"> </span>url : 'serverTime_getServerTime', type : 'GET', datatype : 'json',
<span style="white-space:pre"> </span>success : function(data)
<span style="white-space:pre"> </span>{
<span style="white-space:pre"> </span>/**
<span style="white-space:pre"> </span> * 推断相应的键值是否有相应的数据
<span style="white-space:pre"> </span> */
<span style="white-space:pre"> </span>if (data)
<span style="white-space:pre"> </span>{
<span style="white-space:pre"> </span>nowTime = data;
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>});
<span style="white-space:pre"> </span>return nowTime;
}
设置动态更新:
function setTime()
{
if (timeInterval != 60000)
{
timeInterval += 1000;
nowTime += 1000;
} else
{
nowTime = getServerTime();
timeInterval = 0;
}
$("#server_time").html(
"服务器时间:" + new Date(nowTime).toString().substring(15, 24));
}
在页面载入的时候调用:
<span style="font-family: Arial, Helvetica, sans-serif;">window.onload = function()</span>
{
nowTime = getServerTime();
setInterval(setTime, 1000);
};
这样就能实现时间的动态刷新,但又不至于频繁的到后台请求数据了。
动态获取server时间的更多相关文章
- Ubuntu利用TCP协议来获取server时间
Linux利用TCP协议来获取server时间 这里使用Unix网络编程里面的一个小程序,该client建立一个到server的TCP连接,然后读取由server以直观可读格式简单地送回的当前时间和日 ...
- jsp页面动态获取系统时间
最近在做练习时碰到了这样一个问题:"读者选择查询图书相应信息,跳转到书目的详细信息界面,当可借阅数量大于零,点击借阅按钮,提示用户借阅成功,并显示归还日期(三个月),否则提示用户该书可借阅数 ...
- Titanium系列--利用js动态获取当前时间
动态获取时间: //显示时间 function getDateTime() { var now = new Date(); var year = now.getFullYear(); var mont ...
- js动态获取当前时间(年、月、日、上午/下午、时、分、秒)
//获取动态时间function mytime() { var mydate = new Date(); var year = mydate.getFullYear(); var month = my ...
- JS动态获取当前时间
HTML部分: <div class="div"> <div id="div"> </div> </div> C ...
- Date动态获取时间
·getDate | 根据本地时间获取当前日期(本月的几号) ·getDay | 根据本地时间获取今天是星期几(0-Sunday,1-Monday.. ...
- 动态 Web Server 技术发展历程
动态 Web Server 技术发展历程 开始接触 Java Web 方面的技术,此篇文章是以介绍 Web server 相关技术的演变为主来作为了解 Java servlet 的技术背景,目的是更好 ...
- ZooKeeper动态增加Server(动态增加节点)的研究(待实践)
说明:是动态增加Server,不是动态增加连接到ZK Server的Client. 场景如下(转自外文): 1.在t=t_1->[peer-1(Leader),peer-2],peer-1是主节 ...
- SQL Server时间粒度系列----第2节日期、周时间粒度详解
本文目录列表: 1.从MySQL提供的TO_DAYS和FROM_DAYS这对函数说起2.SQL Server日期时间粒度3.SQL Server周有关时间粒度 4.总结语 5.参考清单列表 从My ...
随机推荐
- elasticsearch 源码概述
从功能上说,可以分为两部分,分布式功能和数据功能.分布式功能主要是节点集群及集群附属功能如restful借口.集群性能检测功能等,数据功能主要是索引和搜索.代码上这些功能并不是完全独立,而是由相互交叉 ...
- Leetcode-求两数之和
题目: 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,你不能重复利用这个数组中 ...
- 【习题 6-4 UVA-439】Knight Moves
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] bfs模板题 [代码] /* 1.Shoud it use long long ? 2.Have you ever test sev ...
- COGS——C 14. [网络流24题] 搭配飞行员
http://cogs.pro/cogs/problem/problem.php?pid=14 ★★☆ 输入文件:flyer.in 输出文件:flyer.out 简单对比时间限制:1 s ...
- Fragment事务管理源代码分析
转载请标明出处:http://blog.csdn.net/shensky711/article/details/53132952 本文出自: [HansChen的博客] 概述 在Fragment使用中 ...
- [D3] Add image to the node
We can create node with 'g' container, then append 'image' to the nodes. // Create container for the ...
- python3怎样画二维点图
引用自:http://www.cnblogs.com/super-zhang-828/p/4792206.html import matplotlib.pyplot as pltplt.plot([1 ...
- 宏的使用 extern
声明全局变量使用的技术. 有些时候C语言的一些条条框框就像语法.学会C语言就是学会了语法. 但是语法怎样使用就又是另一回事了. 我希望自己能多学习一些技巧,而不是一些固定的C语言语法. 这篇文章真的很 ...
- report_timing
report_timing -max_path 2 会报告两条路径,但不一定是最差的路径 report_timing -nworst 2 -max_path 2 会报告两条最差的路径
- hdu 3416 Marriage Match IV (最短路+最大流)
hdu 3416 Marriage Match IV Description Do not sincere non-interference. Like that show, now starvae ...