- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于websocket的信息推送技术在网站系统中的设计与实现.doc
基于websocket的信息推送技术在网站系统中的设计与实现
摘要:该文论述websocket信息推送技术的概念,以及如何在高校教学网络系统中设计实现websocket信息推送。
关键词:推送技术;高校教学网络系统;实时通信
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2016)27-0064-02
1 背景
传统的HTTP request模式存在明显的缺点,浏览器通过不断向服务器“轮询”获取必威体育精装版信息,从而占用大量带宽资源。WebSocket协议作为HTML5的一种新协议,很好地解决了这个问题:浏览器发出websocket连接请求,服务器发生回应,产生“握手”,从而使浏览器与服务器之间产生长连接。这个长连接的生命周期是从建立握手到浏览器或者服务器一方主动断开连接为止,相对于以往的http连接,生命周期长。
2 服务器信息推送
首先,用户页面的布局用的是html的iframe子框架组合,头部子框架留出一块位置用户显示系统推送消息,同时负责与Server端进行websocket连接。然后管理员账号有系统消息选项,进入消息面板进行消息推送。
关键功能代码介绍如下。
子frame触发同源兄弟frame发送函数:
function postToServer(){
parent.frames[topFrame].postToServer();
}
兄弟frame将消息发送给服务器:
function postToServer(){
var msg = parent.frames[main].document.getElementById(pushtext).value;
we.send(msg);
}
Server端存储在线用户session的数据结构为动态数组:
private static ArrayList mmiList = new ArrayList();
若用户成功用websocket与Server握手时,将该用户节点加入数组:
public void onOpen(WsOutbound outbound){
System.out.println(Open Client);
this.myoutbound = outbound;
mmiList.add(this);}
用户关闭网站,与服务器断开握手时,删除该用户节点:
public void onClose(int status){
System.out.println(Close Client.);
mmiList.remove(this);
}
系统消息推送时,Server端将从管理员用户接收来的消息发送给所有在线用户;发送时通过遍历在线用户session数组进行发送:
public void onTextMessage(CharBuffer cb) throws IOException{
System.out.println(Accept Message:+cb);
for(MyMessageInbound mmib : mmiList){
CharBuffer buffer = CharBuffer.wrap(cb);
mmib.myoutbound.writeTextMessage(buffer);
mmib.myoutbound.flush();
}
}
3 客户端信息推送
websocket技术如果是管理员面向全体在线用户就是系统推送,而如果是用户与用户间互相进行推送就升级为了在线聊天。
关键功能代码介绍如下。
//发送消息给Server
function sendMsg() {
var fromName = parent.frames[main].document.getElementById(userName).innerHTML;
var toName = parent.frames[main].document.getElementById(name).value; //发给谁
var content = parent.frames[main].document.getElementById(writeMsg).value; //发送内容
ws.send(fromName+,+toName+,+content);
}
//从Server接收消息
ws.onmessage = function(e){
if(flage =
您可能关注的文档
- 初探高校体育教育中的心理健康渗透.doc
- 南瓜霜霉病防治技术探讨.doc
- 地下室钢筋混凝土自防水技术探究.doc
- 地下室顶板防水工程施工质量控制要点分析.doc
- 基于STM32的无位置传感器BLDCM控制系统设计.doc
- 基于STM32的智能平衡车控制系统设计.doc
- 基于STM32的电火花电源控制的设计.doc
- 基于STM32的简易智能家居控制系统设计.doc
- 基于STM32的车载式漏电流数字传感器的研究.doc
- 基于STM32的高效光伏能量转换系统设计.doc
- 北师大版小学数学三年级上册《寄书》教学设计.docx
- 统编版(部编版)语文二年级上册《雪孩子》教学设计.docx
- 统编版(部编版)语文二年级上册《八角楼上》教学设计.docx
- 北师大版小学数学三年级上册《长方形周长》教学设计.docx
- 北师大版小学数学三年级上册《丰收了》教学设计.docx
- 统编版(部编版)语文二年级上册《夜宿山寺》教学设计.docx
- 统编版(部编版)语文二年级上册《风娃娃》教学设计.docx
- 统编版(部编版)语文二年级上册《朱德的扁担》教学设计.docx
- 统编版(部编版)语文二年级上册《难忘的泼水节》教学设计.docx
- 统编版(部编版)语文二年级上册《纸船和风筝》教学设计.docx
文档评论(0)