加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Flash/Flex解决IE缓存,socket不能断开连接问题

发布时间:2020-12-15 18:18:39 所属栏目:百科 来源:网络整理
导读:如果我们在做在flash的在线游戏时,一般是希望用户在刷新这个页面或者关闭这个页面就断开socket连接。 一般的浏览器在关闭后,都是默认的断开socket连接的。 但是刷新就不一定了。IE总是不太听话,在刷新时不会断开原来的连接。这样一来,一个IE的页面就保持

如果我们在做在flash的在线游戏时,一般是希望用户在刷新这个页面或者关闭这个页面就断开socket连接。

一般的浏览器在关闭后,都是默认的断开socket连接的。

但是刷新就不一定了。IE总是不太听话,在刷新时不会断开原来的连接。这样一来,一个IE的页面就保持了两个连接!

很容易造成数据的错误! 还有一些未知的异常,都是因为这该死的IE引起的。

网上大部分都说,加头信息之类的

<meta http-equiv="Expires" content="-1"/>
        <meta http-equiv="PRAGMA" content="NO-CACHE"/>
        <meta http-equiv="cache-control" content="NO-CACHE"/>

经测试,这个方法不管用!

还有的说是添加随机数。

在我们的连接后面加的Math.random()的一个参数。

这个方法也不行。


最后,打算在flex中找一个触发函数来自行关闭socket。

终于发现了这个事件

mx.events.FlexEvent.HIDE:当对象的状态从可见变为不可见时分派。


flex代码:就是在Application中添加一个hide的处理函数,关闭连接就行了。

<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
			   xmlns:s="library://ns.adobe.com/flex/spark" 
			   xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" xmlns:compoents="compoents.*" creationComplete="init()" 
			   hide="application1_hideHandler(event)">

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读