1、增加websocket保活

This commit is contained in:
weidong 2024-01-13 13:59:02 +08:00
parent b99ac8e11b
commit f3b036fd52

View File

@ -116,12 +116,7 @@
<!-- Web socket operations-->
<script type="text/javascript">
var websocket;
var intervalId;
var rxWin;
layui.$(function(){
rxWin = layui.$('#rx_win');
if(typeof(WebSocket) == "undefined"){
console.log("WebSocket not support for this WebBrowser!")
}
@ -134,8 +129,10 @@
function connectWebSocket() {
//获取当前网址,如: http://localhost:8080/ems/Pages/Basic/Person.jsp
var curPath = window.document.location.href;
console.log(curPath);
//获取主机地址之后的目录,如: /ems/Pages/Basic/Person.jsp
var pathName = window.document.location.pathname;
console.log(pathName);
var pos = curPath.indexOf(pathName);
//获取主机地址,如: http://localhost:8080
var basePath = curPath.substring(0, pos);
@ -143,34 +140,24 @@
//建立webSocket连接
var webSocktPath;
webSocktPath = (basePath+"/websocket").replace("http","ws");
websocket = new WebSocket(webSocktPath);
var websocket = new WebSocket(webSocktPath);
//打开webSokcet连接时回调该函数
websocket.onopen = function () {
console.log("Socket open");
intervalId = setInterval(function() {
websocket.send("hello");
}, 60000);// keep alive
}
websocket.onerror = function (){
console.log("Socket error");
layui.layer.alert("Open web socket failed!");
}
websocket.onclose = function (){
rxWin.val("websocket closed!\r\n");
// 如果需要停止重复执行的定时任务
clearInterval(intervalId);
}
//接收信息
websocket.onmessage = function (event) {
console.log("event.data");
var rxWin = layui.$('#rx_win');
rxWin.val(rxWin.val()+event.data + "\r\n");
rxWin.scrollTop = rxWin.scrollHeight;
var obj = document.getElementById("rx_win");
obj.scrollTop = obj.scrollHeight;
}
}
</script>
</body>