- ===============================================================
- 主动发送信息给某个用户
- ------------------------------------
- XMPPConnection.DEBUG_ENABLED=true ;
- //设置服务器地址
- XMPPConnectionconn=new XMPPConnection( "127.0.0.1" );
- conn.connect();
- //输入账号和密码登陆
- conn.login("test2@127.0.0.1" , "123456" );
- //创建一个和test1的对话,并设置信息监听
- Chatmychat=conn.getManager().create("test1@127.0.0.1" ,
- new MessageListener(){
- @Override
- public void processMessage(Chatchat,,Messagemessage){
- StringmessageBody=message.getBody();
- System.out.println("收到信息:" +messageBody);
- }
- });
- //发送给test1文本信息
- mychat.sendMessage("hello" );
- //退出登陆
- conn.disconnect();
- ===============================================================
- 设置自己的登陆状态
- ------------------------------------
- XMPPConnection.DEBUG_ENABLED=true ;
- //设置服务器地址
- XMPPConnectionconn=new XMPPConnection( "127.0.0.1" );
- conn.connect();
- //输入账号和密码登陆
- conn.login("test2@127.0.0.1" , "123456" );
- //设置登陆后的个人状态信息
- Presencep=new Presence(Presence.Type.available);
- p.setStatus("发呆中。。。" );
- conn.sendPacket(p);
- //退出登陆
- conn.disconnect();
- ==========================================================================
- 被动接收用户发来的信息
- ------------------------------------
- XMPPConnection.DEBUG_ENABLED=true ;
- //设置服务器地址
- XMPPConnectionconn=new XMPPConnection( "127.0.0.1" );
- conn.connect();
- //输入账号和密码登陆
- conn.login("test1@127.0.0.1" , "123456" );
- //设置信息的监听
- conn.getChatManager().addChatListener(new ChatManagerListener(){
- @Override
- public void chatCreated(Chatchat, boolean createdLocally){
- chat.addMessageListener(new MessageListener(){
- @Override
- public void processMessage(Chatchat,Messagemessage){
- StringmessageBody=message.getBody();
- System.out.println("接收到信息:" +messageBody);
- }
- });
- }
- });
- //退出登陆
- conn.disconnect();
- ==========================================================================
- 获取我的好友列表
- ------------------------------------
- //设置服务器地址
- XMPPConnectionconn=new XMPPConnection( "127.0.0.1" );
- conn.connect();
- //输入账号和密码登陆
- conn.login("test1@127.0.0.1" , "123456" );
- Collection<RosterEntry>rosters=conn.getRoster().getEntries();
- System.out.println("我的好友列表:=======================" );
- for (RosterEntryrosterEntry:rosters){
- System.out.print("name:" +rosterEntry.getName()+ ",jid:" +rosterEntry.getUser());
- System.out.println("" );
- }
- System.out.println("我的好友列表:=======================" );
- conn.disconnect();
- ==========================================================================
- 聊天窗口输入状态,使用XEP-0085 协议
- ------------------------------------
- //发送给test1初始文本信息,附带输入状态
- Messagemess=new Message();
- mess.addExtension(new ChatStateExtension(ChatState.active));
- mychat.sendMessage(mess);
- //发送给test1初始文本信息,附带正在输入的状态
- Messagemess=new Message();
- mess.addExtension(new ChatStateExtension(ChatState.composing));
- mychat.sendMessage(mess);
- //发送给test1初始文本信息,附带暂停输入的状态
- Messagemess=new Message();
- mess.addExtension(new ChatStateExtension(ChatState.paused));
- mychat.sendMessage(mess);
- //其他略。。。
- //接收的时候
- public void processMessage(Chatchat,Messagemessage){
- StringmessageBody=message.getBody();
- PacketExtensionpe;
- pe=message.getExtension("composing" , "http://jabber.org/protocol/chatstates" );
- if (pe!= null ){
- System.out.println("对方正在输入......" );
- }
- pe=message.getExtension("active" , "http://jabber.org/protocol/chatstates" );
- if (pe!= null ){
- System.out.println("接收到信息:" +messageBody);
- }
- pe=message.getExtension("paused" , "http://jabber.org/protocol/chatstates" );
- if (pe!= null ){
- System.out.println("对方已暂停输入" );
- }
- pe=message.getExtension("inactive" , "http://jabber.org/protocol/chatstates" );
- if (pe!= null ){
- System.out.println("对方聊天窗口失去焦点" );
- }
- pe=message.getExtension("gone" , "http://jabber.org/protocol/chatstates" );
- if (pe!= null ){
- System.out.println("对方聊天窗口被关闭" );
- }
- }
- ==========================================================================
- 接收邀请,加入多人聊天房间
- ------------------------------------
- MultiUserChat.addInvitationListener(conn,new InvitationListener(){
- @Override
- public void invitationReceived(XMPPConnectionconn,Stringroom,
- Stringinviter,Stringreason,Stringpassword,Messagemessage){
- MultiUserChatmultiUserChat=new MultiUserChat(conn,room);
- System.out.println("收到来自" +inviter+ "的聊天室邀请。邀请附带内容:" +reason);
- try {
- multiUserChat.join("test2" ,password);
- }catch (XMPPExceptione){
- System.out.println("加入聊天室失败" );
- e.printStackTrace();
- }
- System.out.println("成功加入聊天室" );
- multiUserChat.addMessageListener(new PacketListener(){
- @Override
- public void processPacket(Packetpacket){
- Messagemessage=(Message)packet;
- //接收来自聊天室的聊天信息
- System.out.println(message.getFrom()+":" +message.getBody());
- }
- });
- }
- //发送信息到聊天室
- multiUserChat.sendMessage("新手到来,大家关照!" );
- });
- ==========================================================================
- 登陆gtalk
- ------------------------------------
- XMPPConnectionconn=new XMPPConnection( new ConnectionConfiguration( "talk.google.com" , 5222 , "gmail.com" ));
- conn.connect();
- //输入gtalk的账号密码
- conn.login("88888888" , "8888888888" );
- Collection<RosterEntry>rosters=conn.getRoster().getEntries();
- //获取gtalk上的好友列表
- System.out.println("我的好友列表:=======================" );
- for (RosterEntryrosterEntry:rosters){
- System.out.print("name:" +rosterEntry.getName()+ ",jid:" +rosterEntry.getUser());
- System.out.println("" );
- }
- System.out.println("我的好友列表:=======================" );
- conn.disconnect();
- ==========================================================================
- ===============================================================
- 主动发送信息给某个用户
- ------------------------------------
- XMPPConnection.DEBUG_ENABLED=true;
- //设置服务器地址
- XMPPConnectionconn=newXMPPConnection("127.0.0.1");
- conn.connect();
- //输入账号和密码登陆
- conn.login("test2@127.0.0.1","123456");
- //创建一个和test1的对话,并设置信息监听
- Chatmychat=conn.getManager().create("test1@127.0.0.1",
- newMessageListener(){
- @Override
- publicvoidprocessMessage(Chatchat,,Messagemessage){
- StringmessageBody=message.getBody();
- System.out.println("收到信息:"+messageBody);
- }
- });
- //发送给test1文本信息
- mychat.sendMessage("hello");
- //退出登陆
- conn.disconnect();
- ===============================================================
- 设置自己的登陆状态
- ------------------------------------
- XMPPConnection.DEBUG_ENABLED=true;
- //设置服务器地址
- XMPPConnectionconn=newXMPPConnection("127.0.0.1");
- conn.connect();
- //输入账号和密码登陆
- conn.login("test2@127.0.0.1","123456");
- //设置登陆后的个人状态信息
- Presencep=newPresence(Presence.Type.available);
- p.setStatus("发呆中。。。");
- conn.sendPacket(p);
- //退出登陆
- conn.disconnect();
- ==========================================================================
- 被动接收用户发来的信息
- ------------------------------------
- XMPPConnection.DEBUG_ENABLED=true;
- //设置服务器地址
- XMPPConnectionconn=newXMPPConnection("127.0.0.1");
- conn.connect();
- //输入账号和密码登陆
- conn.login("test1@127.0.0.1","123456");
- //设置信息的监听
- conn.getChatManager().addChatListener(newChatManagerListener(){
- @Override
- publicvoidchatCreated(Chatchat,booleancreatedLocally){
- chat.addMessageListener(newMessageListener(){
- @Override
- publicvoidprocessMessage(Chatchat,Messagemessage){
- StringmessageBody=message.getBody();
- System.out.println("接收到信息:"+messageBody);
- }
- });
- }
- });
- //退出登陆
- conn.disconnect();
- ==========================================================================
- 获取我的好友列表
- ------------------------------------
- //设置服务器地址
- XMPPConnectionconn=newXMPPConnection("127.0.0.1");
- conn.connect();
- //输入账号和密码登陆
- conn.login("test1@127.0.0.1","123456");
- Collection<RosterEntry>rosters=conn.getRoster().getEntries();
- System.out.println("我的好友列表:=======================");
- for(RosterEntryrosterEntry:rosters){
- System.out.print("name:"+rosterEntry.getName()+",jid:"+rosterEntry.getUser());
- System.out.println("");
- }
- System.out.println("我的好友列表:=======================");
- conn.disconnect();
- ==========================================================================
- 聊天窗口输入状态,使用XEP-0085协议
- ------------------------------------
- //发送给test1初始文本信息,附带输入状态
- Messagemess=newMessage();
- mess.addExtension(newChatStateExtension(ChatState.active));
- mychat.sendMessage(mess);
- //发送给test1初始文本信息,附带正在输入的状态
- Messagemess=newMessage();
- mess.addExtension(newChatStateExtension(ChatState.composing));
- mychat.sendMessage(mess);
- //发送给test1初始文本信息,附带暂停输入的状态
- Messagemess=newMessage();
- mess.addExtension(newChatStateExtension(ChatState.paused));
- mychat.sendMessage(mess);
- //其他略。。。
- //接收的时候
- publicvoidprocessMessage(Chatchat,Messagemessage){
- StringmessageBody=message.getBody();
- PacketExtensionpe;
- pe=message.getExtension("composing","http://jabber.org/protocol/chatstates");
- if(pe!=null){
- System.out.println("对方正在输入......");
- }
- pe=message.getExtension("active","http://jabber.org/protocol/chatstates");
- if(pe!=null){
- System.out.println("接收到信息:"+messageBody);
- }
- pe=message.getExtension("paused","http://jabber.org/protocol/chatstates");
- if(pe!=null){
- System.out.println("对方已暂停输入");
- }
- pe=message.getExtension("inactive","http://jabber.org/protocol/chatstates");
- if(pe!=null){
- System.out.println("对方聊天窗口失去焦点");
- }
- pe=message.getExtension("gone","http://jabber.org/protocol/chatstates");
- if(pe!=null){
- System.out.println("对方聊天窗口被关闭");
- }
- }
- ==========================================================================
- 接收邀请,加入多人聊天房间
- ------------------------------------
- MultiUserChat.addInvitationListener(conn,newInvitationListener(){
- @Override
- publicvoidinvitationReceived(XMPPConnectionconn,Stringroom,
- Stringinviter,Stringreason,Stringpassword,Messagemessage){
- MultiUserChatmultiUserChat=newMultiUserChat(conn,room);
- System.out.println("收到来自"+inviter+"的聊天室邀请。邀请附带内容:"+reason);
- try{
- multiUserChat.join("test2",password);
- }catch(XMPPExceptione){
- System.out.println("加入聊天室失败");
- e.printStackTrace();
- }
- System.out.println("成功加入聊天室");
- multiUserChat.addMessageListener(newPacketListener(){
- @Override
- publicvoidprocessPacket(Packetpacket){
- Messagemessage=(Message)packet;
- //接收来自聊天室的聊天信息
- System.out.println(message.getFrom()+":"+message.getBody());
- }
- });
- }
- //发送信息到聊天室
- multiUserChat.sendMessage("新手到来,大家关照!");
- });
- ==========================================================================
- 登陆gtalk
- ------------------------------------
- XMPPConnectionconn=newXMPPConnection(newConnectionConfiguration("talk.google.com",5222,"gmail.com"));
- conn.connect();
- //输入gtalk的账号密码
- conn.login("88888888","8888888888");
- Collection<RosterEntry>rosters=conn.getRoster().getEntries();
- //获取gtalk上的好友列表
- System.out.println("我的好友列表:=======================");
- for(RosterEntryrosterEntry:rosters){
- System.out.print("name:"+rosterEntry.getName()+",jid:"+rosterEntry.getUser());
- System.out.println("");
- }
- System.out.println("我的好友列表:=======================");
- conn.disconnect();
- ==========================================================================