国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

手機瀏覽器標簽頁中websocket無法觸發(fā)close事件,仍舊在后臺連接著。請問是否有好的處理辦法?

daming

手機瀏覽器測試發(fā)現(xiàn)在當前標簽頁打開新聊天室或者刷新等操作,本來是應該退出之前的聊天室,進入新的聊天室,可是現(xiàn)在是發(fā)現(xiàn)無法觸發(fā)close事件,導致當前標簽頁不僅連接著現(xiàn)在新的聊天室,還連接著老的聊天室,導致老的聊天室一直有該用戶(但實際上用戶手機端收不到這個老的本該關閉的聊天室的消息了,只是在當前標簽頁,后臺還連接著這個老的聊天室。)
不過關閉手機瀏覽器該標簽頁或者退出手機瀏覽器,可以正常觸發(fā)close事件,并且服務器端會移除該用戶
請問是否有人遇到過這個問題,還請指點一下,謝謝了~
另外,手機標簽頁用 target=_blank 無法打開新標簽頁,導致切換聊天室只能在當前標簽頁了,也就測試發(fā)現(xiàn)了上述的問題(想實現(xiàn)多個標簽頁多個聊天室的功能),請問是否有好的處理辦法呢,謝謝~

3466 1 0
1個回答

zyxjason

客戶端連上websocket服務器之后,會分給客戶端一個client_id. 當你刷新后,再次連接上websocket服務時,會新分配一個client_id,這兩個client_id不一樣

那可以這樣做: 每個用戶去鏈接websocket時,帶上一個user_id,在服務器端維護一個在線用戶列表(存儲用戶ID和client_id對應關系), 然后遍歷在線列表,會發(fā)現(xiàn)client_id變了,那在服務器端把老的client_id踢掉就行了

  • 暫無評論
年代過于久遠,無法發(fā)表回答
??