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