Java???WebSocket??Tomcat???
???????????? ???????[ 2016/2/18 10:15:35 ] ??????????????????? ???????
?????.WebSocket??????
????????????????????????HTTPЭ?????????????Web??????渴??????????????????????HTML5???????WebSocketЭ?鱻??????????????????????????????????????????????????????????????????????????????????????
??????????????????HTTPЭ??????????????????request?????????????? ??????????????????????д??????response???????????????????????????????????????????????????????????????????Web?? ????????仯???????Web???????????鷳??С?????????漰???????Web????????????????????м??????????????????????????? ?á???WebSocket?淶??????????????????????Щ???????????????????????????????????????polling????Comet???????????????????????????????????????????
??????????????????Web?????????????????????????????趨????????????????????????????????????????μ?????????????????????????1???????????????????????????????
????Comet?????????????????????????????????????????????????????С?????????????????Щ?????趨?????????????????????????????????????????????????????????????????????????????????????????????????????????????HTTP?????????????????????????????HTTP??????????????????????????????????????????????????????????????????????????£???????鵽???????????
????????????????????????-????????????????????????????????????????????????????????????????????????????????????????????????
??????????HTML5?????WebSocket???????????Web?????????B/S???????C/S???????????????WebSocket????????????? ?????????????JavaScript?????????????WebSocket???????????WebSocket???????????????????????????? TCP???????????????WebSocket???????????TCP????????????δ????????????????????????????????????????????Comet????С ?????????????????WebSocket?淶???????????WebSocket??Java Web?е?????
????JavaEE 7?г???JSR-356:Java API for WebSocket?淶??????Web????????Tomcat??Nginx??Jetty??????WebSocket??Tomcat??7.0.27?????? WebSocket????7.0.47??????JSR-356???????Demo????????????????Tomcat7.0.47?????汾???????С?
??????.WebSocket???
????2.1.???JavaWeb???????
??????pom.xml?????Jar??????
????1 <dependency> ????2 <groupId>javax</groupId> ????3 <artifactId>javaee-api</artifactId> ????4 <version>7.0</version> ????5 <scope>provided</scope> ????6 </dependency>
??????????Web?????????
1 <%@ page language="java" pageEncoding="UTF-8" %> 2 <!DOCTYPE html> 3 <html> 4 <head> 5 <title>Java???WebSocket??Tomcat???</title> 6 </head> 7 <body> 8 Welcome<br/><input id="text" type="text"/> 9 <button onclick="send()">???????</button> 10 <hr/> 11 <button onclick="closeWebSocket()">???WebSocket????</button> 12 <hr/> 13 <div id="message"></div> 14 </body> 15 16 <script type="text/javascript"> 17 var websocket = null; 18 //?ж??????????????WebSocket 19 if ('WebSocket' in window) { 20 websocket = new WebSocket("ws://localhost:8080/websocket"); 21 } 22 else { 23 alert('???????? Not support websocket') 24 } 25 26 //?????????????????? 27 websocket.onerror = function () { 28 setMessageInnerHTML("WebSocket???????????"); 29 }; 30 31 //?????????????????? 32 websocket.onopen = function () { 33 setMessageInnerHTML("WebSocket??????"); 34 } 35 36 //???????????????? 37 websocket.onmessage = function (event) { 38 setMessageInnerHTML(event.data); 39 } 40 41 //????????????? 42 websocket.onclose = function () { 43 setMessageInnerHTML("WebSocket??????"); 44 } 45 46 //??????????????????????????????????websocket????????????????????????server????????? 47 window.onbeforeunload = function () { 48 closeWebSocket(); 49 } 50 51 //??????????????? 52 function setMessageInnerHTML(innerHTML) { 53 document.getElementById('message').innerHTML += innerHTML + '<br/>'; 54 } 55 56 //???WebSocket???? 57 function closeWebSocket() { 58 websocket.close(); 59 } 60 61 //??????? 62 function send() { 63 var message = document.getElementById('text').value; 64 websocket.send(message); 65 } 66 </script> 67 </html>
??????
???·???
??????????????????
2023/3/23 14:23:39???д?ò??????????
2023/3/22 16:17:39????????????????????Щ??
2022/6/14 16:14:27??????????????????????????
2021/10/18 15:37:44???????????????
2021/9/17 15:19:29???·???????·
2021/9/14 15:42:25?????????????
2021/5/28 17:25:47??????APP??????????
2021/5/8 17:01:11