Android Duplex与服务器的连接

时间:2011-06-21 13:15:08

标签: android android-asynctask

我正在尝试在Android设备和.net客户端应用程序之间创建双工连接(聊天应用程序)。我已经使用TCP连接实现了它。但由于某种原因,我想实现基于HTTP的双工连接。中间层是一个Web服务器,它通过基于SOAP的Web服务进行通信。

当客户端向Web服务器发送消息时,它应该自动调用android应用程序并显示消息。例如,如果webservice getMessage()为空,则android app不应该执行任何操作,但如果有任何消息触发它并显示消息。

我已经在C2DM推送通知的帮助下实现了它。但是我需要一个很好的解决方案,我需要在Android应用程序中实现某种类型的监听器,只有在有消息时才会调用它。当我做一些研究时,我发现它可以使用asynctask来完成,但即使getMessage()为空,它也会调用onPostExecute()方法。我想控制它,只有当消息不为空时才应该执行onPostExecute()方法。

我如何实现这一目标?请传播一些光。 (请原谅我你曾经见过的可怕的英语。)

1 个答案:

答案 0 :(得分:0)

另一方面,由于C2DM具有配额,因此将C2DM用于聊天应用程序是一个非常糟糕的主意。相反,您应该考虑设置XMPP服务器并使用它进行通信。 Openfire是一个很好的解决方案,安装非常简单。对于.NET客户端,您可以使用AgsXMPP,这是一个非常好的库。

很抱歉,我的回答并没有真正回答你的问题,但它确实就你将来遇到的问题提供了建议。

相关问题