我正在使用Atmosphere Framework 2.0.8。將EventListener添加到AtmosphereResource的正確方法是什麼?
我已經在我的應用程序中實現了AtmosphereHandler,並且通過WebSockets和長輪詢發生了雙向通信。
我想添加一些處理代碼,當客戶端斷開連接以清理某些特定於該客戶端的資源時(即,我在表中有一個條目要刪除)。
我已閱讀下列維基條目:
OnDisconnect技巧:https://github.com/Atmosphere/atmosphere/wiki/onDisconnect-tricks 配置氣氛監聽:https://github.com/Atmosphere/atmosphere/wiki/Configuring-Atmosphere-Listener
我不是明確的一點是,我要補充的調用
atmosphereResource.addEventListener(new AtmosphereResourceEventListenerAdapter() {});
我最終在JavaDoc中找到了一些用於在onRequest()方法中註冊EventListener的AtmosphereHandler的示例代碼。 http://atmosphere.github.io/atmosphere/apidocs/org/atmosphere/cpr/AtmosphereHandler.html
我想知道的是,如果這是正確的方式去解決它?
這是我的理解,AtmosphereResource表示客戶端和服務器之間的連接的連接的生活。 uuid通過來自同一客戶端的onRequest()方法在多次調用中保持對象一致。因此,每次調用onRequest方法時,相同的AtmosphereResource對象都會獲得EventListener。
這看起來不對。這是否會導致成千上萬的EventListeners正在爲每個AtmosphereResource註冊?
看來EventLister只能爲每個AtmosphereResource註冊一次。
我覺得我在這裏錯過了一些基本的東西。有人能解釋一下嗎?