我正在爲Android和iPhone使用XMPP客戶端。我已經能夠連接到服務器並獲取消息。如何檢查客戶端是否連接到XMPP服務器
但客戶端在幾分鐘後即斷開與XMPP服務器的連接。 IOS XMPP框架包含一個委託方法,用於指示客戶端是否連接到服務器。如果連接沒有斷開連接,那麼我們可以使用委託方法重新連接。我在Android客戶端(我正在使用aSmack庫)中使用以下代碼來檢查連接是否存在。但是這似乎不起作用。
public void recieveMessage()
{
Log.e("xmppclient","will receive messages");
PacketFilter filter = new MessageTypeFilter(Message.Type.chat);
connection.addPacketListener(new PacketListener() {
public void processPacket(Packet packet) {
if(connection != null && connection.isConnected())
{
Message message = (Message) packet;
if (message.getBody() != null)
{
fromName = StringUtils.parseBareAddress(message.getFrom());
String messageBody=message.getBody();
Log.e("Message", messageBody);
Intent i = new Intent(NEW_MESSAGE);
i.putExtra("username", StringUtils.parseBareAddress(message.getFrom()));
i.putExtra("message", message.getBody());
sendBroadcast(i);
}
else
{
connectToXmpp();
}
}
}
}
,filter);
}
connectToXMPP()是打開新連接的方法。
是否有任何其他方式來檢查連接,並在連接結束後立即重新連接到XMPP ... ???
請先檢查你剛纔提到你的問題「如何檢查客戶端是否爲服務器...」,你有什麼想說?客戶端或服務器已連接? – 2011-05-19 13:10:04
更改了...感謝您指出...... !!! – 2011-05-19 13:28:32