我已經開始學習網絡套接字了。在當今時代必須學習技術。 但我很想知道更多關於它。我的基本問題是可以在客戶端創建多少個WebSocket連接。客戶端可以創建多少個WebSocket連接
我的典型應用是基於html的UI,並且在服務器上我有基於休息的服務。我需要跟蹤
- 會話超時是否已經發梗與否
- 是否與服務器的連接丟失或不?一種用於檢查連接的共享程序是否存在。
因此,我在客戶端上創建了2個websocket對象,併爲它們創建了不同的url。
我希望我已經正確實施它了嗎?
我已經開始學習網絡套接字了。在當今時代必須學習技術。 但我很想知道更多關於它。我的基本問題是可以在客戶端創建多少個WebSocket連接。客戶端可以創建多少個WebSocket連接
我的典型應用是基於html的UI,並且在服務器上我有基於休息的服務。我需要跟蹤
因此,我在客戶端上創建了2個websocket對象,併爲它們創建了不同的url。
我希望我已經正確實施它了嗎?
基本上瀏覽器關閉舊的websocket連接,一旦你打開新的連接到相同的URL(ws://127.0.0.1:8080/WebSocket-context-root/getResource)。你可以保留像「ws://127.0.0.1:8080/WebSocket-context-root/getResource /」+ k這樣的小破解。其中k是任何數字/任何隨機字符串。在服務器端只需忽略路徑變量k。
這樣就可以同時打開許多連接。瀏覽器對每個域的最大連接數限制不適用(在Firefox上測試)。我嘗試了最多25個並行連接。
您可以使用websocket.readyState檢查Web套接字連接的狀態。
onclose Web套接字的事件具有關閉連接的原因碼。
以下用戶代碼用於測試活動連接的數量。
var x=0
var intervalID = setInterval(function() {
websocket = new WebSocket("ws://127.0.0.1:8080/WebSocketApi/web/chat/"+x);
websocket.onopen = function (evt) {
console.log('open')
}
websocket.onmessage = function (evt) {
console.log('msg');
}
websocket.onclose= function (evt) {
console.log('closed');
}
if (++x === 15) {
window.clearInterval(intervalID);
}
}, 1);
哦!如果我清楚地理解你只有單個連接對象alive.And我們需要在URL中添加一些參數來分隔操作。 –
對於一個URL,只有單個連接對象處於活動狀態。對於不同的URL,可以存在多個對象。 – Abhinay
變種x = 0的 變種intervalID =的setInterval(函數(){ 的WebSocket =新的WebSocket( 「WS://127.0.0.1:8080/WebSocketApi /網絡/聊天」 + X); websocket.onopen =函數(EVT){ 的console.log( '開放') } websocket.onmessage =函數(EVT){ \t \t \t \t的console.log( 'MSG'); } 如果(++ X = == 15){ window.clearInterval(intervalID); } },1); – Abhinay