xinyb
2024-09-10 8c1986f019fc92360534e4f8b7d1688ac0bff9fd
提交 | 用户 | age
b46e19 1 <%@ page import="com.yc.utils.SessionKey" %>
c79713 2 <%@ page language="java" pageEncoding="UTF-8" %>
F 3 <%
4     String host = request.getServerName() + (request.getServerPort()==80?":80":":"+request.getServerPort() );
efff2c 5 %>
J 6 <!DOCTYPE html>
7 <html>
8 <head>
9     <script type="text/javascript" src="/js/jquery-1.4.4.min.js"></script>
10     <script type="text/javascript" src="/js/hotkey.js"></script>
c79713 11     <title>WebSocket-经销商端</title>
efff2c 12 </head>
J 13 <body>
c79713 14 Welcome<br/>
F 15 <button onclick="login()">登录</button>
16 <br/>
b46e19 17 <br/>
F 18 <button onclick="closeWebSocket()">退出</button>
19 <br/>
20 <br/>
21 <button onclick="send2()">3.同意授权</button>
c79713 22
F 23 <div id="message"></div>
efff2c 24 </body>
J 25
26 <script type="text/javascript">
27
c79713 28
efff2c 29     var groupid;
J 30     var dbid;
c79713 31     var websocket = null;
F 32     var websocket1 = null;
33     var to="";
efff2c 34     var host=document.location.host;
c79713 35     var obj={};
efff2c 36     function login() {
c79713 37         //  $.ajax({
efff2c 38
c79713 39         //   url: "http://yingchen.onbus.cn:9001/wslogin.do" ,
F 40         //  success: function (result) {
41         dbid=82;
42         if ('WebSocket' in window) {
b46e19 43             websocket = new WebSocket("ws://" + host + "/ws/websocketMessage/z9000082/<%=session.getAttribute(SessionKey.DATA_BASE_ID)%>/<%=session.getId()%>/2");
c79713 44         }
F 45         else {
46             alert('当前浏览器 Not support websocket')
47         }
48         //连接发生错误的回调方法
49         websocket.onerror = function () {
50             setMessageInnerHTML("WebSocket连接发生错误");
51         };
efff2c 52
c79713 53         //连接成功建立的回调方法
F 54         websocket.onopen = function () {
55             setMessageInnerHTML("WebSocket连接成功");
56         }
efff2c 57
c79713 58         //接收到消息的回调方法
F 59         websocket.onmessage = function (event) {
60              obj=JSON.parse(event.data);
61             //operCode=0表示客户初始化返回的信息,需要保存返回的groupid,作为以后发消息的groupid的值
62             console.log(">>>>>>>>>>>"+event.data);
63             setMessageInnerHTML(event.data);
efff2c 64
c79713 65             // if(obj.state==0) {//0表示正常消息,-1表示出错消息,需要处理
F 66             //     if (obj.info.operCode == 0) {
67             //         groupid = obj.info.groupId;
68             //         dbid=obj.info.dbid;
69             //     }
70             // }
71             //  if(obj.info.msgType=="text")
72             //
73             //    setMessageInnerHTML(event.data);
74             // else
75             //     setMessageImg(event.data);
76         }
efff2c 77         function setMessageImg(data){
J 78             var obj=JSON.parse(data);
79             var img ="<img src='"+ obj.info.picUrl+"'/>";
80             document.getElementById('message').innerHTML += img + '<br/>';
81             console.log(data);
82         }
83
c79713 84
F 85
86         //连接关闭的回调方法
87         websocket.onclose = function () {
88             setMessageInnerHTML("WebSocket连接关闭");
89         }
90
91         //监听窗口关闭事件,当窗口关闭时,主动去关闭websocket连接,防止连接还没断开就关闭窗口,server端会抛异常。
92         window.onbeforeunload = function () {
93             //   closeWebSocket();
94         }
95     }
96     //});
efff2c 97     //}
J 98
99
100     //将消息显示在网页上
101     function setMessageInnerHTML(innerHTML) {
102         document.getElementById('message').innerHTML += innerHTML + '<br/>';
103     }
c79713 104
efff2c 105     //关闭WebSocket连接
J 106     function closeWebSocket() {
c79713 107            websocket.close();
efff2c 108     }
J 109
110     //发送消息
b46e19 111     function send2() {//离线再进入时调用
c79713 112         if (websocket.readyState == 1) {  //0-CONNECTING;1-OPEN;2-CLOSING;3-CLOSED
4a551f 113             var info=JSON.parse('{"ownCompanyName":"标准版V2","authenticatedCode":"abcewf","msgLocation":"content","companyName":"代理商标准版V2(总公司)","ownLogo":"","domain":"http://demo.onbus.cn:9001","dbId":583,"logo":"http://demo.onbus.cn:9001/images/login/logo.png","setup":2,"userName":"002","authType":110302,"userCode":"z9000082"}');
c79713 114             info.setup=3;
F 115             var obj1={};
116             obj1.msg=JSON.stringify(info);
117             obj1.msgType=6008;//消息类型
118             if(info){
119                 websocket.send(JSON.stringify(obj1));
efff2c 120             }
c79713 121             document.getElementById("text").value="";
F 122         } else {
123             alert("connect fail!");
124         }
efff2c 125     }
J 126 </script>
a6a76f 127 </html>