我們在我們的J2E應用程序中使用PrimeFaces 4.0(套接字)和氛圍2.0.3進行服務器端推送。如何關閉PrimeFaces套接字連接
應用程序問題,它關閉瀏覽器或從應用程序註銷後不關閉套接字。因此,應用程序產生一個處於CLOSE_WAIT狀態的套接字,並最終創建太多的打開連接(1024),並且拋出錯誤。此端口上的大多數連接處於CLOSE_WAIT狀態。
JBWEB003008:爲地址爲/.0.0.0.0和端口XXX的連接器創建的最大線程數(1024)。在JSP
<p:socket id="s" channel="#{xxx.eventChannel}"
onMessage="modelEventHandler.handleModelEvent" widgetVar="xxxSocket" transport="sse" onClose=""/>
代碼片段插座我已經嘗試通過註銷按鈕的點擊調用Java腳本函數關閉這一點,但它不工作。
function logOut() {
PF(xxxSocket).disconnect();
}
我假設在**真正的代碼**你有單引號xxxSocket('xxxSocket')?並且「不起作用」是模糊的 – Kukeltje
@Kukeltje - 是的,單引號在xxxSocket周圍,並且它仍然沒有關閉套接字。 CLOSE_WAIT連接請求仍然存在。 – DevD
'不關閉'!=進入「CLOSE_WAIT」......你的服務器上的CLOSE_WAIT中它** IS **的事實意味着客戶端發送一個信號,表明它不再需要/不需要/使用套接字。 https://www.google.com/search?q=what+is+CLOSE_WAIT – Kukeltje