LocalConnection在检测多个网页游戏客户端上的应用
来源:互联网 发布:男朋友跟我洗澡 知乎 编辑:程序博客网 时间:2024/06/07 03:51
通过使用Flex中的LocalConnection 类实现网页游戏中同时打开多个客户端的限制的应用,只写了LocalConnection 引起冲突的一个应用,很简单,只写基本功能,其他的自己延伸;
文件 LocalConTest.mxml 代码如下:
<?xml version="1.0" encoding="utf-8"?><mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="initComplete()" fontSize="12"> <mx:Script> <![CDATA[ import mx.events.CloseEvent; import mx.controls.Alert; private static var localCon:LocalConnection ; private function initComplete():void { localCon = new LocalConnection(); localCon.client = this; checkLocalCon(); } /** * 检测是否有多个连接 */ private function checkLocalCon():void { try { localCon.connect("myConnection"); } catch(error:ArgumentError) { trace("重复的客户端"); Alert.show("禁止同时打开多个游戏客户端","", 1, this, kickoutClickHandler); } } private function kickoutClickHandler(event:CloseEvent):void { if (event.detail==Alert.YES) { checkLocalCon(); } } ]]> </mx:Script> <mx:Label x="235" y="258" text="请使用多个浏览器打开此文件,查看效果"/> </mx:Application>
上面是很早的代码了 这儿给出一个改进的类:
////////////////////////////////////////////////////////////////////////////////// WEBGAME Confidential // Copyright 2011. All rights reserved. // // CheckClient.as// Summary // TODO Auto-generated summary stub// Version 1.0// Author txiejun// Created Nov 5, 2011 3:47:36 PM////////////////////////////////////////////////////////////////////////////////package aurora.net{import flash.net.LocalConnection;import flash.utils.getQualifiedClassName;/** * 检测游戏客户端一共打开了几个 * @author txiejun * @contact txiejun@126.com * @created Nov 5, 2011 3:47:36 PM */public class CheckClient{private static var _instance:CheckClient;private var lc:LocalConnection;private var connectList:Array = null;public function CheckClient(){lc = new LocalConnection();lc.allowDomain("*");lc.client = this;}public static function get instance():CheckClient{if(_instance==null){_instance = new CheckClient();}return _instance;}private function connect(name:String):Boolean{try{lc.connect("_"+name);}catch(error:ArgumentError){trace(getQualifiedClassName(this)+".connect(): _"+name+","+error.message);return false;}return true;}/** * 检查是否有多个客户端 * @param conlist 格式如:conlist=["client1","client2"]; 表示支持最多打开两个客户端 conlist=null表示没有限制 可以打开无限个 * @return 返回true说明可以正常开启客户端 返回false说明不能开启更多客户端 * */public function check(conlist:Array=null):Boolean{connectList = conlist;if(connectList==null||connectList.length==0)return true;for(var i:int = 0;i<connectList.length;i++){if(connect(connectList[i])){return true;}}return false;}}}
说明:之前的测试有人反映可能会出现bug 如果有bug大家可以留言
- LocalConnection在检测多个网页游戏客户端上的应用
- 多个flash之间的通讯 LocalConnection
- 利用LocalConnection实现多个应用之间的通讯 (不同MXML之间的通信)
- 网页flash游戏在本机上的存档文件
- 射线检测算法在游戏中应用
- 策略模式在游戏客户端中的应用
- 在一个tomcat上配置多个相同的应用,或者是用同一个端口上放置多个应用
- 在一个tomcat上配置多个相同的应用,或者是用同一个端口上放置多个应用
- 如何实现客户端打印web应用上的文件,打印机在客户端上
- socket实现多个客户端连接在一个服务器上
- 如何在多个设备上调试网页
- java BIO,NIO在单服务器,多客户端通信上的应用
- Tomcat配置多个Service,多个同名的应用运行在一个tomcat上
- LocalConnection的具体实现
- LocalConnection的使用
- 终于在网页上搞出个"HelloWorld".........................
- 第一个在MyEclipse上编写的web应用
- Vml+Js算法:完成5个小球在网页运动(碰壁返回)的游戏,详细注释
- C#调用dll
- asp.net群邮件
- 无所不搜
- 遗传算法与直接搜索工具箱学习笔记 四-----从直接搜索算法开始
- 分布式数据库
- LocalConnection在检测多个网页游戏客户端上的应用
- JSP Standard Tag Libraries 实践理解
- 对WOW服务端模拟器的思考
- 薛涌:董藩的简历
- 面经巨著
- TD手机拨开迷雾见太阳
- 如何编译一个内核 - Fedora方式
- JSP内置对象(9个常用的内置对象)
- google app engine