【发布时间】:2012-01-22 13:56:01
【问题描述】:
我想在 Javascript 中创建类似游戏的 ping,就像游戏 Counter Strike 一样。我正在对服务器(MySQL)进行 AJAX 调用,并想计算所花费的时间,但我要么计算错误,要么对 ping 有错误的想法。这是我到目前为止的代码:
var time_stamp = new Date;
$.ajax({ type: "POST",
url: "server.php",
data: {....},
success: function(output){
ping = new Date - time_stamp;
}
}); // btw, this code works fine now for ping
问题是有时我会得到 0ms 或 3ms。这个可以吗?去server.php,连接数据库,选择一些行,返回一些数据似乎很快。是的,这是在 localhost 上,所以它应该很快,但它的意思是这么快吗?我应该以 FPS 计算,还是每次调用server.php?
【问题讨论】:
-
我想没关系。尝试从
server.php获取一些输出,如果它响应正常,那没关系:) 如果您使用 Chrome 或 Firebug,请查看 ajax 请求时间。 -
确保 Web 服务器在 server.php 上发送标头以防止缓存。
-
感谢您的帮助。我进行了调查,Chrome 给我的时间比我的计算低 1 毫秒,这没问题。
-
向请求中添加一个随机数可以防止浏览器(尤其是 IE)像“server.php?r=" + Math.random() 那样缓存。我在类似的情况下遇到了这个缓存问题,这个技巧成功了。
标签: javascript jquery ajax ping