最近在學做一個手機客戶端,服務端用java mina搭建,客戶端也是利用mina 和服務端保持長連接通信。
自己的思路:1打開應用即和服務端建立連接,將session保存
2在不同的activity中用保存的session去請求相關數據
3在mina客戶端的接收方法中將服務端得到的服務端響應結果廣播出去,在對應的activity中接收該廣播
以上思路不知道是否可行或者有什麼考慮不全的地方還請各位指正一下,謝謝
做過類似的功能,正准備整合成框架發布到Github一直沒時間。
思路對的,推薦建立連接的方法放在service中,然後如何和服務端保持連接是個很重要的問題,因為移動端是會進入休眠狀態的,需要定時喚醒重連,
喚醒重連的目的在於請求服務端消息棧獲取這段時間內發送過來的消息,所以所謂的長連接其實也並不是真正意義的長連接,是在喚醒狀態下的長連接
和休眠狀態下的輪詢的結合。如果不是為了推送功能,可以考慮不用長連接,直接短連接傳輸完畢就關閉。