如何处理android webview 超时-Async-Http连接超时的问题

查看: 921|回复: 6
关于移动端连接服务端session超时问题
主题帖子e币
亲,最近我们公司讨论怎么解决登录服务端session超时的问题。
1.要是设置服务端session时间很长,这个貌似不是很好吧。
2.或者是在客户端写一个心跳,用来每20分钟请求一个服务器。
亲们,你们怎么做的啊
socket编程,使用定时器,或者线程每20分钟发送请求一次
主题帖子e币
socket编程,使用定时器,或者线程每20分钟发送请求一次
主题帖子e币
主题帖子e币
学习一下,虽然我不是搞web的
主题帖子e币
可以仔细研究即时通讯:
主题帖子e币
学习过,非常好。
请问 服务端怎么写 还有 他这个返回的是什么东西 是session 吗? 还有怎么使用这个返回值&
主题帖子e币
学习过/blog/1663113,非常好。
请问 服务端怎么写 还有 他这个返回的是什么东西 是session 吗? 还有怎么使用这个返回值
圣诞限量勋章
圣诞限量勋章
社区认证会员
社区认证会员
QQ已认证,此人靠谱
推荐阅读热门话题
62471246921652088183118181481138513081012815771749700715
1&小时前3&小时前4&小时前4&小时前4&小时前4&小时前昨天&23:53昨天&23:41昨天&23:30昨天&23:26昨天&23:24昨天&23:19昨天&23:16
特别关注 /2
专为零基础定制,从基础到精通,只需3个月轻松搞定!将iOS开发学到极致,月薪过万不是梦!马上开始学习吧!
系统化Android学习视频,配合项目开发实例讲解和源码下载学习,更有技术大牛在线答疑,学Android,快3倍!
Powered by
扫一扫 关注eoe官方微信1795人阅读
&声明一个boolean公共变量,表明当前httpconnection是否得到服务器回应。
你的连接线程中在连接之前置这个变量为false;
另起一个监视线程,拿到那个HttpConnection的连接对象,并循环监视这个boolean公共变量。如果指定时间内(20秒后)你的
boolean公共变量还是false,那么就主动置httpconnection=null。这样,那边连接线程就会抛出异常退出
来。&&&-----zhengyun
写了Timer类来实现.(学习国外一个网站上的写法)
class&Timer&extends&Thread&{
&&/**&每个多少毫秒检测一次&*/
&&protected&int&m_rate&=&100;
&&/**&超时时间长度毫秒计算&*/
&&private&int&m_
&&/**&已经运行的时间&*/
&&private&int&m_
&&&*&构造函数
&&&*&@param&length
&&&*&&&&&&&&&&&&Length&of&time&before&timeout&occurs
&&public&Timer(int&length)&{
&&&//&Assign&to&member&variable
&&&m_length&=&
&&&//&Set&time&elapsed
&&&m_elapsed&=&0;
&&&*&重新计时
&&public&synchronized&void&reset()&{
&&&m_elapsed&=&0;
&&&System.out.println(&reset&timer&);
&&&*&故意设置为超时,可以在服务器有返回,但是错误返回的时候直接调用这个,当成超时处理
&&public&synchronized&void&setTimeOut()
&&&m_elapsed&=&m_length+1;
&&public&void&run()&{
&&&//&循环
&&&System.out.println(&timer&running&);
&&&for&(;;)&{
&&&&//&Put&the&timer&to&sleep
&&&&&Thread.sleep(m_rate);
&&&&}&catch&(InterruptedException&ioe)&{
&&&&synchronized&(this)&{
&&&&&//&Increment&time&remaining
&&&&&m_elapsed&+=&m_
&&&&&//&Check&to&see&if&the&time&has&been&exceeded
&&&&&if&(m_elapsed&&&m_length&&&&!isConnActive)&{&//isConnActive&为全局变量
&&&&&&//&Trigger&a&timeout
&&&&&&timeout();
&&&*&超时时候的处理
&&public&void&timeout()&{
&&&&&&httpConnection&=&
&&&&&&System.out.println(&conn&time&&&&&+&TIME_OUT&+&&&ms&);
在http连接线程调用的同是调用&new&Timer(20*1000).start();
需要重新计时时候调用timer.reset();
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:275448次
积分:3082
积分:3082
排名:第4374名
原创:55篇
转载:52篇
评论:106条
(1)(1)(1)(1)(1)(1)(1)(3)(3)(1)(3)(5)(2)(3)(3)(4)(5)(4)(1)(4)(4)(8)(6)(8)(3)(3)(14)(13)温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
阅读(546)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_',
blogTitle:'PHP:处理Socket连接超时问题的方法',
blogAbstract:'&&&&&& 当使用php函数 file_get_contents抓取远程网页时,如果连接超时将会输出一个Fatal Error,结果导致下面的代码不能运行,一般可采取两个解决方案:&&&&&& 1. 利用file_get_contents()第三个参数&&&&&& &?php& &&&&&& &&&&&& $url = \"http://172.16.0.40/die.php\";& &&&&&& &&&&&& $ctx = stream_context_create(array(& &&&&&& &&&&&& &&&&&&',
blogTag:'curl',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:7,
publishTime:1,
permalink:'blog/static/',
commentCount:0,
mainCommentCount:0,
recommendCount:0,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:true,
hostIntro:'',
hmcon:'1',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}

我要回帖

更多关于 android 网络超时处理 的文章

 

随机推荐