很多朋友都可能遇到了這樣的問題,當處于Internet上的服務器需要重啟時,及時的通知在線的客戶端退出,客戶端不能采用輪訓的方式訪問客戶端,進一步說就是服務器實時向客戶端發消息。
解決問題的第一步很多人都比較熟悉,就是在客戶端注冊一個MBR對象,傳送到服務端,服務端通過對這個MBR的訪問達到對客戶端進行訪問的目的,可是由于客戶端很可能是通過代理服務器上的Internet,所以這里就要多了一個難題,服務器這么樣才能把調用傳送到客戶端呢?
我的做法時在服務器的發送信道中截獲服務器發送給客戶端的消息,然后把消息封裝在可跨應用域的類的實例中,通過另外的方法送抵客戶端,并在客戶端的接收信道上處理剛到達的消息。
當然,這里說的都是概要,由于篇幅和本人時間有限,具體的實現讀者可通過QQ(57019818)
|