重复刷新页面导致网络繁忙出错的解决办法

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

最近在做一个21点游戏时,发现经常会引起503错误,经过不段设计,终于发现了问题的所在.

在要调试的页面game21.jsp头部加上一条输出语句,用于调试System.out.PRintln("调试信息--------------");

继续要牌

一.进入游戏后

url地址:http://localhost:8080/wap/fee/game21.jsp?uId=13312345678&t=0&ante=1

控制台输入出信息:调试信息-------------- 页面正常

二,点击继续要牌

url地址:http://localhost:8080/wap/fee/game21.jsp?uId=13312345678&t=0&ante=1&p=2

p=2为表示继续要牌

控制台输入出信息:调试信息-------------- 页面正常

三,点击继续要牌

url地址:http://localhost:8080/wap/fee/game21.jsp?uId=13312345678&t=0&ante=1&p=2

控制台输入出信息:

调试信息--------------

调试信息--------------

调试信息--------------

调试信息--------------

调试信息--------------

调试信息--------------

调试信息--------------

页面出现错误

分析:

为什么第一次点继续要牌的时候,页面能正常,第二次就会出现不停的刷新页面?通过url地址的观察,

发现第一步进来 的时候与第一次点继续要牌,url的内容不同,而两次重新要牌的时候,url内容相同,

所以造成这个问题的原因当url相同时,页面从浏览器的缓冲中读取信息,但如果把页面的缓冲时间设置过长,用户再要牌的时候会要不到,要等过了缓冲时间,因此不能通过缓冲时间来实现。应该让浏览器识别这个页面是一个新页面,从而从服务器重新取。通过在页面参数中参加一个随时变化的参数,浏览器识别为未请求过的页面,所以重新从服务器得到,问题得解决。

在页面中加一条得到时间的变量 String time = Long.toString(System.currentTimeMillis());

同样的操作

继续要牌

一.进入游戏后

url地址:http://localhost:8080/wap/fee/game21.jsp?uId=13312345678&t=0&ante=1

控制台输入出信息:调试信息-------------- 页面正常

二,点击继续要牌

url地址:http://localhost:8080/wap/fee/game21.jspuId=13312345678&t=0&ante=1&p=2&time=1116213947531

控制台输入出信息:调试信息-------------- 页面正常

三,点击继续要牌

url地址:http://localhost:8080/wap/fee/game21.jspuId=13312345678&t=0&ante=1&p=2&time=1116214023421

控制台输入出信息:调试信息-------------- 页面正常

以上是上Openwave SDK 5.1调试出现问题我解决的

(出处:http://www.knowsky.com)

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航