91 lines
2.7 KiB
Plaintext
91 lines
2.7 KiB
Plaintext
<%@page import="com.sipai.tools.CommString"%>
|
||
<%@ page language="java" pageEncoding="UTF-8" %>
|
||
<%@ page import="com.sipai.tools.SessionManager"%>
|
||
<%
|
||
SessionManager sessionManager = new SessionManager();
|
||
%>
|
||
<%request.setAttribute("Alarm_PRO",CommString.Alarm_PRO);%>
|
||
<%String contextPath = request.getContextPath();%>
|
||
<!DOCTYPE html>
|
||
<html>
|
||
<head>
|
||
<title>Java后端WebSocket的Tomcat实现</title>
|
||
</head>
|
||
<body>
|
||
Welcome '${Alarm_PRO}'<br/><input id="text" type="text"/>
|
||
<button onclick="send()">发送消息</button>
|
||
<hr/>
|
||
<button onclick="closeWebSocket()">关闭WebSocket连接</button>
|
||
<hr/>
|
||
<div id="message"></div>
|
||
</body>
|
||
<jsp:include page="/jsp/inc.jsp"></jsp:include>
|
||
<script src="<%=contextPath%>/JS/reconnecting-websocket.min.js"></script>
|
||
<script type="text/javascript">
|
||
var websocket = null;
|
||
//判断当前浏览器是否支持WebSocket
|
||
if ('WebSocket' in window) {
|
||
var str=ext.basePath.replace("http","ws")+"/websocket/${Alarm_PRO}";
|
||
console.info(str)
|
||
websocket = new ReconnectingWebSocket(str);//"ws://192.168.10.3:8080/PlantEngine_RLD"
|
||
}
|
||
else {
|
||
alert('当前浏览器 Not support websocket')
|
||
}
|
||
|
||
//连接发生错误的回调方法
|
||
websocket.onerror = function () {
|
||
setMessageInnerHTML("WebSocket连接发生错误");
|
||
};
|
||
|
||
//连接成功建立的回调方法
|
||
websocket.onopen = function () {
|
||
setMessageInnerHTML("WebSocket连接成功");
|
||
}
|
||
|
||
//接收到消息的回调方法
|
||
websocket.onmessage = function (event) {
|
||
/* var dialog = top.ext.modalDialog({
|
||
title : '添加班次',
|
||
width : 600,
|
||
height : 400,
|
||
resizable:true,
|
||
url : ext.contextPath + '/work/groupManage/add.do',
|
||
buttons : [{
|
||
text : '保存',
|
||
handler : function() {
|
||
//dialog.find('iframe').get(0).contentWindow.dosave(dialog, grid);
|
||
}
|
||
}]
|
||
}); */
|
||
setMessageInnerHTML(event.data);
|
||
}
|
||
|
||
//连接关闭的回调方法
|
||
websocket.onclose = function () {
|
||
websocket.close();
|
||
setMessageInnerHTML("WebSocket连接关闭");
|
||
}
|
||
|
||
//监听窗口关闭事件,当窗口关闭时,主动去关闭websocket连接,防止连接还没断开就关闭窗口,server端会抛异常。
|
||
window.onbeforeunload = function () {
|
||
closeWebSocket();
|
||
}
|
||
|
||
//将消息显示在网页上
|
||
function setMessageInnerHTML(innerHTML) {
|
||
document.getElementById('message').innerHTML += innerHTML + '<br/>';
|
||
}
|
||
|
||
//关闭WebSocket连接
|
||
function closeWebSocket() {
|
||
websocket.close();
|
||
}
|
||
|
||
//发送消息
|
||
function send() {
|
||
var message = document.getElementById('text').value;
|
||
websocket.send(message);
|
||
}
|
||
</script>
|
||
</html> |