行业新闻

[宁波网站建设]基于Websocket的网站系统推送信息技术的设计与实现

发布时间:2019-06-04 01:00:45

  本文讨论的WebSocket信息传输技术,以及如何设计和实施在一所大学的网络系统中的WebSocket信息传输的基本概念。键词:推技术;高等教育网络系统;实时通信中图分类号:TP393文献标识码:A文章编号:1009-3044(2016)27-0064-02背景传统的HTTP查询方式有明显的缺点,浏览通过不断轮询服务器来获取最新信息,它消耗了大量的带宽资源。为新的协议HTML5,WebSocket协议解决了这个问题以及:浏览器发送一个请求WebSocket连接,所述服务器响应,并产生一个“握手”,从而在浏览器和服务器之间的长连接。

基于Websocket的网站系统推送信息技术的设计与实现_no.8

  

基于Websocket的网站系统推送信息技术的设计与实现_no.9

  种长连接的生命周期是建立到浏览器的链接或主动断开服务器的连接。
  之前的http连接相比,生命周期很长。送服务器信息首先,用户的布局中使用的HTML IFRAME组合,主副车架离开的位置,以用户的显示系统发送消息,并负责连接的WebSocket与服务器。后管理员帐户有一个系统消息选项,输入消息窗格以发送消息。的功能代码如下所述。帧触发对方哥框架的发送功能:){parent.frames [“topframe”]功能postToServer(。PostToServer();}的哥框架将消息发送到服务器:postToServer函数(){风险味精= parent.frames [ “主”]。Document.getElementById(“pushtext”)。; we.send(MSG);}服务器侧存储的在线会话表结构的动态形式的用户数据:)静态专用的ArrayList mmiList =新的ArrayList(;当网页套接字和服务器携手,用户节点添加到表:公共无效的OnOpen(传出WsOutbound){的System.out.println(“打开客户端”); this.myoutbound = outbound; mmiList.add(this);}用户关闭网站。服务器(“关闭客户”)公共无效的OnClose(INT状态){的System.out.println断开连接时删除用户节点; MmiList.remove(本);}当发送系统消息,admin用户收到服务器的消息在网上发送给所有的在线用户,通过用户的会话表公共无效onTextMessage(CharBuffer的cb)抛出IOException {System.out.println(“Accept message:” cb);对于(MyMes sageInbound MMIB:mmiList){CharBuffer的CharBuffer.wrap缓冲液=(CB); mmib.myoutbound.writeTextMessage(buffer); mmib.myoutbound.flush(})}如果管理员面临着所有在线用户系统发送消息和用户与用户相互推客户端技术的WebSocket,网上的讨论升级。的功能代码如下所述。//将消息发送给Serverfunction SENDMSG(){风险= FROMNAME parent.frames [ “手”]。

基于Websocket的网站系统推送信息技术的设计与实现_no.226

  Document.getElementById(“userName”)。innerHTML的; var toName = parent.frames [“main”]。Document.getElementById(Name)。; //去哪里var content = parent.frames [“main”]。
  Document.getElementById(writeMsg)。; //发送ws.send含量(FROMNAME “” toNameName “” 含量);} //接收从服务器ws.onmessage =函数(e)中的消息{如果(flage == 0){父。frames [“BoardMenu”]。document.getElementById(“message”)。
  inn erHTML = e.data “”} else {parent.frames [“main”]。
  document.getElementById(“xiaoxi”)。textContent = e.data 的 “n”;}} //服务器存储用户数据的数据结构是静态公共散列HashMap中的getMessage(CharBuffer的MSG){HashMap的地图=新的HashMap(); String msgString = msg.toString(); String m [] = msgString.split(“,宁波网站建设”); map.put(“fromName”,m [0]); map.put(“toName”,m [1]); map.put(“content”,m [2]);返回图;} //该服务器将该消息发送到保护无效onTextMessage(CharBuffer的MSG)收件人抛出IOException异常{//用户发送MapHashMap MessageMap = MessageUtil.getMessage(MSG); //处理消息类//在线用户集合类mapHashMap userMsgMap = socketList; //InitServlet.getSocketList();String FROMNAME = messageMap.get( “FROMNAME”); //用户消息userIdString toName = messageMap.get(“toName”);发送给用户的用户ID / /消息/ /得到用户MessageInbound messageInbound = userMsgMap.get(toName); MessageInbound messageInbound2 = userMsgMap.get(FROMNAME)//删除MessageInboundif(messageInbound!)发送到所述人在存储库= NULL){//如果发件人是本,操作WsOutbound出站messageInbound.getWsOutbound =() ;字符串内容= messageMap.get(“content”); //获取消息的内容。msgContentString FROMNAME = “” 内容“/ /内置//发送发送到内容信息的CharBuffer toMsg = CharBuffer.wrap(msgContentString.toCharArray()); outbound.writeTextMessage(toMsg)//outbound.flush() ;如果(messageInbound2!= NULL){//如果发送到现有的人操作WsOutbound outbound2 messageInbound2.getWsOutbound =();弦乐=内容2 messageMap.get( “内容”); //获取消息串msgContentString2 FROMNAME = “” 内容2; //建立消息发送//发出内容为CharBuffer toMsg2 = CharBuffer.wrap(msgContentString2.toCharArray()); outbound2.writeTextMessage(toMsg2)outbound2.flush();}}否则{WsOutbound outbound3 = messageInbound2.getWsOutbound)字符串}对不起,对方不在线!“; CharBuffer的toMsg3 = CharBuffer.wrap(error.toCharArray()); outbound3.writeTextMessage(toMsg3); outbound3.flu SH();}结束语本文基于WebSocket的技术,这使得管理员的功能给所有用户在线,如实现了信息传输服务的教育体系网络系统广播,用户之间的在线讨论。

基于Websocket的网站系统推送信息技术的设计与实现_no.229

  
  本文转载自
  宁波网站建设 https://www.leseo.net
  补充词条:宁波谷歌优化  宁波seo网站优化  宁波网站seo优化  宁波seo哪家好  宁波网站优化推广