首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Flash >

原创nio socket mina+javascript+flash兑现commet长连接网页聊天室

2012-12-28 
原创nio socket mina+javascript+flash实现commet长连接网页聊天室JS代码//数据返回回调方法 function cmt

原创nio socket mina+javascript+flash实现commet长连接网页聊天室

JS代码

//数据返回回调方法 function cmtData(data){  switch(data.event){   case "init":    $("#status").html("init...");    var userlist = data.list;    if(userlist){     for(var i=0;i<userlist.length;i++){      $("#userlist").append("<a id='user_"+userlist[i].sid+"' href='javascript:void();' onclick='toidclick(this);'>" + userlist[i].nickname + "<br><a>");      }    }    break;   case "quit":    $("#ret_msg").append(data.nickname +"离开聊天室!<br>");    $("#userlist #user_"+data.sid).remove();    break;   case "message":    $("#ret_msg").append(data.nickname +"_say:"+ data.msg + "("+data.time+")<br>");    break;   case "join":    $("#ret_msg").append(data.nickname +"加入聊天室!<br>");    $("#userlist").append("<a id='user_"+data.sid+"' href='javascript:void();' onclick='toidclick(this);'>" + data.nickname + "<br><a>");    break;  } } //系统调用初始化 function cmtInit(){  connect(); } //连接后调用 function cmtConnected(){  CMT.post('{"event":"login","nickname":"'+$("#nick").val()+'"}'); } ///////////////////////////////// function toidclick(e){  $("#toid").val(e.id.substring(5)); } function connect(){  var nick = $("#nick").val();  if(nick==''){   alert('名称不能为空!');  }else{   CMT.connect();  } } function logout(){  CMT.post('{"event":"quit"}');  $("#userlist").html('');  $("#status").html("nostatus..."); } function send(){  if(CMT.isconnected()){   var data = '{"event":"message","msg":"'+$("#message").val()+'","toid":"'+$("#toid").val()+'"}';   CMT.post(data);   $("#message").val('');  }else{   alert('请先点login按钮!');  } } var CMT = {}; (function(cmt,$){  cmt.init = function(){   var cmttaget = $("<div id="flash_content" style="position: absolute;top: -1000px;left: -1000px"></div>");   $("body").append(cmttaget);   //init swf   var swf = new SWFObject("cmt.swf", "__cmt", "25", "25", "7", "#336699");   swf.addParam("quality", "low");   swf.addParam("wmode", "transparent");   swf.addParam("salign", "t");   swf.addParam("allowscriptaccess","always");   swf.write("flash_content");  }  cmt.thisMovie = function(movieName){   if (window.document[movieName]){    return window.document[movieName];   }   if (navigator.appName.indexOf("Microsoft Internet")==-1){    if (document.embeds && document.embeds[movieName])     return document.embeds[movieName];    }   else{ // if (navigator.appName.indexOf("Microsoft Internet")!=-1)    return document.getElementById(movieName);   }  }  cmt.isconnected = function(){   var isconnected = cmt.getCmt().isconnected();   return isconnected;  }  cmt.getCmt = function(){   return cmt.thisMovie("__cmt");  }  cmt.connect = function(){   if(!cmt.isconnected())    cmt.getCmt().connect('127.0.0.1',110);   else    alert("已与服务器连接!");  }  cmt.post = function(data){   if(cmt.isconnected())    cmt.getCmt().post(data);   else    alert("与服务器未连接!");  }   })(CMT,jQuery) ////////////////////////// $(function(){   CMT.init();  });

?此简易服务器消息处理代码

logger.info(">>>>>>>>>>>>>>>>>message");ASObject message = context.getMessage();mcManager = context.getMcManager();Object toid = message.get("toid");Result result = null;SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");CharacterMC mc = mcManager.get(context.getSession());Map data = new HashMap();data.put("event", "message");data.put("sid", context.getSid());data.put("msg", message.get("msg"));data.put("nickname",mc.getNickname());data.put("time", sdf.format(new Date()));if(toid == null || "".equals(toid)){result = new BroadCastResult(data);}else{result = new SubscribeResult(data,new Long[]{Long.parseLong((String)toid)},true);}context.addResult(result);

?欢印大家给我留言改进设计

1 楼 yangmingjiayou 2011-09-14   给一个工程 怎么跑不起来 里面有也没有js文件 2 楼 shiwujie 2011-10-08   gameserver要单独跑是一个服务器,其它的文件要部署在web应用下

热点排行