这篇文章给大家分享的是有关javaWebSocket服务端如何实现的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

1.什么是WebSocket

  WebSocket协议是基于TCP的一种新的网络协议。它实现了浏览器与服务器全双工(full-duplex)通信——允许服务器主动发送信息给客户端。

2.实现原理

  在实现websocket连线过程中,需要通过浏览器发出websocket连线请求,然后服务器发出回应,这个过程通常称为“握手” 。在 WebSocket API,浏览器和服务器只需要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道。两者之间就直接可以数据互相传送。 

3.优点

  在以前的消息推送机制中,用的都是 Ajax 轮询(polling),在特定的时间间隔由浏览器自动发出请求,将服务器的消息主动的拉回来,这种方式是非常消耗资源的,因为它本质还是http请求,而且显得非常笨拙。而WebSocket 在浏览器和服务器完成一个握手的动作,在建立连接之后,服务器可以主动传送数据给客户端,客户端也可以随时向服务器发送数据。

具体代码如下所示:

packageorg.fh.plugins.ChatServer;importjava.net.InetSocketAddress;importjava.net.UnknownHostException;importorg.java_websocket.WebSocket;importorg.java_websocket.framing.Framedata;importorg.java_websocket.handshake.ClientHandshake;importorg.java_websocket.server.WebSocketServer;/***说明:websocket服务端*作者:FHAdmin*from:fhadmin.cn*/publicclassChatServerextendsWebSocketServer{publicBulletChatServer(intport)throwsUnknownHostException{super(newInetSocketAddress(port));}publicBulletChatServer(InetSocketAddressaddress){super(address);/***客户端发送消息到服务器时触发事件*/@OverridepublicvoidonMessage(WebSocketconn,Stringmessage){message=message.toString();if(null!=message&&message.startsWith("[video313596790]")){this.userjoin(message.replaceFirst("\\[video313596790\\]",""),conn);}else{BulletChatServerPlool.sendMessage(message.toString());//向所有在线用户发送消息}publicvoidonFragment(WebSocketconn,Framedatafragment){*用户加入处理*@paramuserpublicvoiduserjoin(Stringuser,WebSocketconn){BulletChatServerPlool.addUser(user,conn);//向连接池添加当前的连接对象*用户下线处理publicvoiduserLeave(WebSocketconn){BulletChatServerPlool.removeUser(conn);//在连接池中移除连接*触发连接事件publicvoidonOpen(WebSocketconn,ClientHandshakehandshake){}*触发关闭事件publicvoidonClose(WebSocketconn,intcode,Stringreason,booleanremote){userLeave(conn);*触发异常事件publicvoidonError(WebSocketconn,Exceptionex){if(conn!=null){}publicvoidonStart(){}}

------------------------------------------------------------------自定义表单
28. 定义模版:拖拽左侧表单元素到右侧区域,编辑表单元素,保存表单模版
29. 表单模版:编辑维护表单模版,复制表单模版,修改模版类型,预览表单模版
30. 我的表单:选择表单模版,编辑表单规则,是否上传图片、附件、开启富文本、挂靠流程开关等
31. 表单数据:从我的表单进去可增删改查表单数据,修改表单规则
32. 挂靠记录:记录表单数据和流程实例ID关联记录,可删除

感谢各位的阅读!关于“javaWebSocket服务端如何实现”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!