Files
SIPAIIS_WMS_JSSW/WebRoot/jsp/work/websockettest.jsp
2026-01-16 14:13:44 +08:00

91 lines
2.7 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<%@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>