2011-06-21 111 views
0

我正嘗試在android設備和.net客戶端應用程序之間創建雙工連接(聊天應用程序)。我已經使用TCP連接實現了它。但由於某種原因,我想實現基於HTTP的雙工連接。中間層是一個網絡服務器,它通過基於SOAP的web服務進行通信。Android與服務器的雙工連接

當客戶端發送消息到網絡服務器時,它應該自動調用android應用程序並顯示消息。例如,如果webservice getMessage()是空的,android應用程序不應該做任何事情,但如果有任何消息觸發它並顯示消息。

我已經在C2DM推送通知的幫助下實現了它。但是我需要一個很好的解決方案,我需要在Android應用程序中實現某種類型的Listener,只有在有消息時纔會調用它。當我做了一些研究時,我發現可以使用asynctask完成,但即使getMessage()爲空,它也會調用onPostExecute()方法。我想以這種方式控制它,只有當消息不是空的,它應該執行onPostExecute()方法。

我該如何做到這一點?請傳播一些光。 (對不起,你是guyz見過的可怕的英語)。

回答

0

另一方面,使用C2DM進行聊天應用程序是一個非常糟糕的主意,因爲C2DM擁有的配額。相反,您應該考慮設置XMPP服務器並使用它進行通信。 Openfire是一個很好的解決方案,安裝非常簡單。對於.NET客戶端,您可以使用AgsXMPP,這是一個非常好的庫。

對不起,我的回答沒有真正回答你的問題,但它確實提供了你將來遇到的問題的建議。