基于websocket的信息推送技术在网站系统中的设计与实现

基于websocket的信息推送技术在网站系统中的设计与实现

ID:31359597

大小:113.00 KB

页数:7页

时间:2019-01-09

基于websocket的信息推送技术在网站系统中的设计与实现_第1页
基于websocket的信息推送技术在网站系统中的设计与实现_第2页
基于websocket的信息推送技术在网站系统中的设计与实现_第3页
基于websocket的信息推送技术在网站系统中的设计与实现_第4页
基于websocket的信息推送技术在网站系统中的设计与实现_第5页
资源描述:

《基于websocket的信息推送技术在网站系统中的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、基于websocket的信息推送技术在网站系统中的设计与实现  摘要:该文论述websocket信息推送技术的概念,以及如何在高校教学网络系统中设计实现websocket信息推送。  关键词:推送技术;高校教学网络系统;实时通信  中图分类号:TP393文献标识码:A文章编号:1009-3044(2016)27-0064-02  1背景  传统的HTTPrequest模式存在明显的缺点,浏览器通过不断向服务器“轮询”获取最新信息,从而占用大量带宽资源。WebSocket协议作为HTML5的一种新协议,很好地解决了这个问题:浏览器发出websocket连接请求,

2、服务器发生回应,产生“握手”,从而使浏览器与服务器之间产生长连接。这个长连接的生命周期是从建立握手到浏览器或者服务器一方主动断开连接为止,相对于以往的http连接,生命周期长。  2服务器信息推送  首先,用户页面的布局用的是html的iframe子框架组合,头部子框架留出一块位置用户显示系统推送消息,同时负责与Server端进行websocket连接。然后管理员账号有系统消息选项,进入消息面板进行消息推送。  关键功能代码介绍如下。7  子frame触发同源兄弟frame发送函数:  functionpostToServer(){  parent.frame

3、s["topFrame"].postToServer();  }  兄弟frame将消息发送给服务器:  functionpostToServer(){  varmsg=parent.frames["main"].document.getElementById("pushtext").value;  we.send(msg);  }  Server端存储在线用户session的数据结构为动态数组:  privatestaticArrayListmmiList=newArrayList();  若用户成功用websocket与Server握手时,将该用户节点加入

4、数组:  publicvoidonOpen(WsOutboundoutbound){  System.out.println("OpenClient");  this.myoutbound=outbound;  mmiList.add(this);}  用户关闭网站,与服务器断开握手时,删除该用户节点:  publicvoidonClose(intstatus){  System.out.println("CloseClient.");  mmiList.remove(this);  }7  系统消息推送时,Server端将从管理员用户接收来的消息发送给所有在

5、线用户;发送时通过遍历在线用户session数组进行发送:  publicvoidonTextMessage(CharBuffercb)throwsIOException{  System.out.println("AcceptMessage:"+cb);  for(MyMessageInboundmmib:mmiList){  CharBufferbuffer=CharBuffer.wrap(cb);  mmib.myoutbound.writeTextMessage(buffer);  mmib.myoutbound.flush();  }  }  3客户

6、端信息推送  websocket技术如果是管理员面向全体在线用户就是系统推送,而如果是用户与用户间互相进行推送就升级为了在线聊天。  关键功能代码介绍如下。  //发送消息给Server  functionsendMsg(){  varfromName=parent.frames["main"].document.getElementById("userName").innerHTML;  vartoName=parent.frames["main"].document.getElementById('name').value;//发给谁  varconten

7、t=parent.frames["main"].document.getElementById('writeMsg').value;//发送内容7  ws.send(fromName+","+toName+","+content);  }  //从Server接收消息  ws.onmessage=function(e){  if(flage==0){parent.frames["BoardMenu"].document.getElementById("message").innerHTML+=e.data+"";  }else{parent.frames["m

8、ain"].document.getE

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。