var userid=$("#userid
").val();
var lockreconnect = false; //
避免ws重複連線
var ws = null; //
判斷當前瀏覽器是否支援websocket
var wsurl = serverconfig.cyberhouse_ws+userid;
createwebsocket(wsurl);
//連線ws
function createwebsocket(url)
else
if('
mozwebsocket'in
window)
else
); }
initeventhandle();
}catch
(e)
}function initeventhandle() ;
ws.onerror =function () ;
ws.onopen =function () ;
ws.onmessage = function (event)
else
if(obj.type=="
friend
" || obj.type=="
group")
};}//
監聽視窗關閉事件,當視窗關閉時,主動去關閉websocket連線,防止連線還沒斷開就關閉視窗,server端會拋異常。
window.onbeforeunload =function()
function reconnect(url) ,
2000);}
//心跳檢測
var heartcheck =,
start: function(), self.timeout)
}, this
.timeout)
}}
//收到客戶端訊息後呼叫的方法
@onmessage
public
void
onmessage(string message, session session)
else
}
給websocket加入心跳包防止自動斷開連線
原文 var userid userid val var lockreconnect false 避免ws重複連線 var ws null 判斷當前瀏覽器是否支援websocket var wsurl serverconfig.cyberhouse ws userid createwebsocket...
WebSocket加入心跳包防止自動斷開連線
近日,在公司中開發乙個使用websocket為前端推送訊息的功能時,發現乙個問題 就是每隔一段時間如果不傳送資料的話,與前段的連線就會自動斷開 剛開始以為是session的原因,因為web session 的預設時間是30分鐘 但是通過日誌發現斷開時間間隔時間遠遠不到30分鐘 認真分析發現不操作間隔...
WebSocket加入心跳包防止自動斷開連線
近日,在公司中開發乙個使用websocket為前端推送訊息的功能時,發現乙個問題 就是每隔一段時間如果不傳送資料的話,與前段的連線就會自動斷開 剛開始以為是session的原因,因為web session 的預設時間是30分鐘 但是通過日誌發現斷開時間間隔時間遠遠不到30分鐘 認真分析發現不操作間隔...