| <!DOCTYPE html> | 
| <html xmlns:th="http://www.thymeleaf.org"> | 
| <head> | 
|     <meta charset="utf-8"> | 
|     <!-- 启用360浏览器的极速模式(webkit) --> | 
|     <meta name="renderer" content="webkit"> | 
|     <meta name="viewport" | 
|           content="width=device-width, initial-scale=1.0, maximum-scale=1.0"> | 
|     <title>soketTest</title> | 
|     <link th:href="@{/images/}" | 
|           rel="SHORTCUT ICON"> | 
|     <meta name="keywords" | 
|           content=""/> | 
|     <meta name="description" | 
|           content=""/> | 
|     <style type="text/css"> | 
|         .row > div:nth-child(1) { | 
|             background: url(../../images/login-title.jpg) no-repeat; | 
|             background-size: 100% 100%; | 
|             height: 380px; | 
|         } | 
|   | 
|         .row > div:nth-child(2) { | 
|             background: #fff; | 
|             height: 380px; | 
|         } | 
|         .download-bar { | 
|             margin-top: 15px; | 
|             color: #fff; | 
|         } | 
|   | 
|         .download-bar a { | 
|             color: #fff; | 
|             margin: 0 5px; | 
|         } | 
|   | 
|         .download-bar a:hover { | 
|             text-decoration: underline; | 
|             color: #fff; | 
|         } | 
|     </style> | 
|     <script> | 
|         var isoldIE = false; | 
|         if (navigator.userAgent.indexOf("MSIE") > 0) { | 
|             if (navigator.userAgent.indexOf("MSIE 6.0") > 0 | 
|                 || navigator.userAgent.indexOf("MSIE 7.0") > 0 | 
|                 || avigator.userAgent.indexOf("MSIE 8.0") > 0) { | 
|                 isoldIE = true; | 
|             } | 
|         } | 
|         if (window.top !== window.self) { | 
|             window.top.location = window.location | 
|         } | 
|         ; | 
|     </script> | 
|     <script type="text/javascript" | 
|             th:src="@{/js/plugin/jquery-2.1.4.min.js}"></script> | 
|     <script type="text/javascript" th:src="@{/js/systools/MBase.js}"></script> | 
|     <link th:href="@{/css/styleOne/login.min.css}" rel="stylesheet"> | 
|   | 
| </head> | 
|   | 
| <body  > | 
| <h3>hello socket</h3> | 
| <p>【userId】:<div><input id="userId" name="userId" type="text" value="张三"></div> | 
| <p>【toUserId】:<div><input id="toUserId" name="toUserId" type="text" value="李四"></div> | 
| <p>【contentText】:<div><input id="contentText" name="contentText" type="text" value="hello websocket"></div> | 
| <p> | 
| <textarea id="messageBody" style="width:600px;height:300px;" > | 
|   | 
| </textarea> | 
| </p> | 
|   | 
|   | 
| <p>操作:<div><button onclick="openSocket()">开启socket</button></div> | 
| <p>【操作】:<div><button onclick="sendMessage()">发送消息</button></div> | 
| <p>【操作】:<div><button onclick="colseSocket()">关闭连接</button></div> | 
| </body> | 
| <script type="text/javascript" th:src="@{/js/systools/MJsBase.js}"></script> | 
|     <script> | 
|   | 
|         var socket; | 
|         function openSocket() { | 
|             if(typeof(WebSocket) == "undefined") { | 
|                 console.log("您的浏览器不支持WebSocket"); | 
|             }else{ | 
|                 console.log("您的浏览器支持WebSocket"); | 
|                 //实现化WebSocket对象,指定要连接的服务器地址与端口  建立连接 | 
|                 var userId = document.getElementById('userId').value; | 
|                 var socketUrl="ws://192.168.111.175:8091/webSocketServer?userId="+userId; | 
|                 console.log(socketUrl); | 
|                 if(socket!=null){ | 
|                     socket.close(); | 
|                     socket=null; | 
|                 } | 
|                 socket = new WebSocket(socketUrl); | 
|                 //打开事件 | 
|                 socket.onopen = function() { | 
|                     console.log("websocket已打开"); | 
|                     //socket.send("这是来自客户端的消息" + location.href + new Date()); | 
|                 }; | 
|                 //获得消息事件 | 
|                 socket.onmessage = function(msg) { | 
|                 console.log(msg); | 
|                     var serverMsg =  msg.data; | 
|                     console.log(serverMsg); | 
|                      | 
|                     var serviceMesgObj=JSON.parse(serverMsg); | 
|                      | 
|                     //发现消息进入    开始处理前端触发逻辑 | 
|                     var messageBody= document.getElementById('messageBody'); | 
|                     messageBody.value=messageBody.value+"\r\n"+ serviceMesgObj.userId+":" + serviceMesgObj.messageBody; | 
|                      | 
|                      | 
|                 }; | 
|                 //关闭事件 | 
|                 socket.onclose = function() { | 
|                     console.log("websocket已关闭"); | 
|                 }; | 
|                 //发生了错误事件 | 
|                 socket.onerror = function() { | 
|                     console.log("websocket发生了错误"); | 
|                 } | 
|             } | 
|         } | 
|   | 
|         function sendMessage() { | 
|             if(typeof(WebSocket) == "undefined") { | 
|                 console.log("您的浏览器不支持WebSocket"); | 
|             }else { | 
|                 // console.log("您的浏览器支持WebSocket"); | 
|                 var targetUserId = document.getElementById('toUserId').value; | 
|                 var contentText = document.getElementById('contentText').value; | 
|                 var msg = '{"messageType":1,"targetUserId":"'+targetUserId+'","messageBody":"'+contentText+'"}'; | 
|                 console.log(msg); | 
|                 socket.send(msg); | 
|                  var userId = document.getElementById('userId').value; | 
|                 var messageBody= document.getElementById('messageBody'); | 
|                 messageBody.value=messageBody.value+"\r\n"+ userId+":" + contentText; | 
|                      | 
|             } | 
|         } | 
|         function colseSocket() { | 
|             if(typeof(WebSocket) == "undefined") { | 
|                 console.log("您的浏览器不支持WebSocket"); | 
|             }else { | 
|                 socket.close(); | 
|             } | 
|         } | 
|     </script> | 
|   | 
|   | 
| </html> |