嗨,我的目標是趕上會話失效,併發送消息到FlexClient訂閱的客戶端的所有目標....已斷開連接。blazeds如何理解會話是否超時
我實現了一個偵聽sessionCretaed,sessionDestroyed,clientCreated,clientDestroyed,messageClientCreated,messageClientDestroyed的服務。
問題是我想趕上messageClientDestroyed併發送到該目的地的消息,該用戶已斷開連接。但blazeds銷燬messageClient當您添加一個subtopic.So如何理解,如果會話失效和所有messageClient被銷燬或者用戶只需進入另一個地方併爲他的消費者添加一個子主題。
我也打開其他解決方案來實現該機制。當用戶斷開會話超時或關閉網站瀏覽器等我想趕上它併發送消息到訂閱的目的地。
謝謝。
首先感謝您的回答。起初我已經實施了一項服務,就像你說的一樣,但是因爲我的目標是發送消息給訂閱的頻道,我需要獲得訂閱的目的地。但blazeds首先破壞messageClients然後FlexClients並最終破壞會話。所以當我嘗試在sessionDestroyed中獲得FlexClient或messageClients時,我什麼都沒有。現在我正在捕獲messageClientDestroyed事件來發送消息,但它不僅在會話被銷燬時調用,而且在客戶端添加子主題時也會調用它,所以如果會話將要銷燬或添加了停止,則需要獲取該子主題。 – maniacneron
這太奇怪了,傳入sessionDestoryed的FlexSession對象應該給正在離開的客戶端。如果您可以訪問MessageService實例,則可以調用pushMessageToClients().... http://livedocs.adobe.com/blazeds/1/javadoc/flex/messaging/services/MessageService.html –