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