首页 > 代码库 > Smack实现XMPP即时通信--接收消息

Smack实现XMPP即时通信--接收消息

          Smack实现XMPP即时通信的发送消息,在上一篇博客中已经有所介绍的了!

          关于接收消息

          网上有对应的博客介绍

         1、smack api学习       http://314858770.iteye.com/blog/908246

                 2、Smack开发Demo---发送并接收消息   http://blog.csdn.net/majian_1987/article/details/9474027 

         以上2个博客都对该问题有了自己的阐述,但是在真正开始使用的时候,发现代码不太能通过,自己就调试了一版自己的,记录一下


 JAVA代码:

package ceshi2;

import org.jivesoftware.smack.Chat;
import org.jivesoftware.smack.ChatManagerListener;
import org.jivesoftware.smack.MessageListener;
import org.jivesoftware.smack.XMPPConnection;
import org.jivesoftware.smack.XMPPException;
import org.jivesoftware.smack.packet.Message;


public class ceshi2 {

	public static void main(String[] main) throws XMPPException{ 
		 
			//设置服务器地址  
			XMPPConnection conn = new XMPPConnection("127.0.0.1");   
			conn.connect();  
			//输入账号和密码登陆  
			conn.login("yixin", "yixin");   
			//设置信息的监听  
			final MessageListener messageListener=new MessageListener() {
				
				@Override
				public void processMessage(Chat arg0, Message message) {
					// TODO Auto-generated method stub
					String messageBody = message.getBody();
					System.out.println("接收到信息:"+messageBody);
				}
			};
				
			ChatManagerListener chatManagerListener=new ChatManagerListener() {
				
				@Override
				public void chatCreated(Chat chat, boolean arg1) {
					// TODO Auto-generated method stub
				    chat.addMessageListener(messageListener);
				}
			};
			
			conn.getChatManager().addChatListener(chatManagerListener);
			
			while(true);   //死循环,维持该连接不中断
			
			//退出登陆  
			//conn.disconnect(); 
	}	
}


备注:其余的可以参考的文章博客

1、基于xmpp openfire smack开发之smack类库介绍和使用[2]
      http://blog.csdn.net/shimiso/article/details/8816540

2、基于xmpp openfire smack开发之smack类库介绍和使用[1]

         http://blog.csdn.net/shimiso/article/details/8816558


         

Smack实现XMPP即时通信--接收消息