我在我的應用程序中使用Websockets進行流式傳輸。 我在後端使用碼頭用於此目的特定於瀏覽器的Web套接字錯誤關閉代碼
在到的OnClose回調方法我有這個
@Override
public void onClose(int arg0, String arg1) {
logger.info("In onClose :: " + arg0 + " :: " + arg1);
}
我觀察到的是,該錯誤代碼是不是通用的,但具體到瀏覽器是
當我使用鉻它顯示1006
,如果瀏覽器使用CTRL + W關閉時,點擊了十字按鈕,或甚至用戶點擊退出按鈕
但是其中如在Firefox它顯示1001
如果瀏覽器使用ctrl + w關閉,點擊十字按鈕,甚至用戶點擊註銷按鈕
現在的問題是,我真的無法確定爲什麼發生斷開連接,因爲它是一個瀏覽器特定的? ?
請分享您的意見,如何在這種情況下進行調試?
當用戶點擊註銷按鈕時,我不應該在任何瀏覽器上獲取1000而不是1001的代碼,請糾正我以防萬一我錯了。 – Kiran
將取決於該註銷按鈕發生了什麼,我懷疑有些JavaScript框架正在代表您工作。如果你在_all_沒有得到1000,那麼我會在狡猾的客戶端說一些話。 –
關閉代碼1000用於發佈您的代碼。沒有JavaScript框架應該爲您自動發佈近1000個。對於firefox發送1001是一個理智的選項卡/瀏覽器關閉的迴應。對於鉻不發送關閉,而是依靠服務器端EOF檢測和隨後的異常(不乾淨)關閉代碼1006對您的使用情況也是一個理智的反應。 –