提交 | 用户 | 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> |