- 浏览: 63021 次
- 性别:
- 来自: 北京
文章分类
最新评论
- ===============================================================
- 主动发送信息给某个用户
- ------------------------------------
- XMPPConnection.DEBUG_ENABLED = true ;
- //设置服务器地址
- XMPPConnection conn = new XMPPConnection( "127.0.0.1" );
- conn.connect();
- //输入账号和密码登陆
- conn.login("test2@127.0.0.1" , "123456" );
- //创建一个和test1的对话,并设置信息监听
- Chat mychat = conn.getManager().create("test1@127.0.0.1" ,
- new MessageListener() {
- @Override
- public void processMessage(Chat chat,, Message message) {
- String messageBody = message.getBody();
- System.out.println("收到信息:" +messageBody);
- }
- });
- //发送给test1文本信息
- mychat.sendMessage("hello" );
- //退出登陆
- conn.disconnect();
- ===============================================================
- 设置自己的登陆状态
- ------------------------------------
- XMPPConnection.DEBUG_ENABLED = true ;
- //设置服务器地址
- XMPPConnection conn = new XMPPConnection( "127.0.0.1" );
- conn.connect();
- //输入账号和密码登陆
- conn.login("test2@127.0.0.1" , "123456" );
- //设置登陆后的个人状态信息
- Presence p = new Presence(Presence.Type.available);
- p.setStatus("发呆中。。。" );
- conn.sendPacket(p);
- //退出登陆
- conn.disconnect();
- ==========================================================================
- 被动接收用户发来的信息
- ------------------------------------
- XMPPConnection.DEBUG_ENABLED = true ;
- //设置服务器地址
- XMPPConnection conn = 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(Chat chat, boolean createdLocally) {
- chat.addMessageListener(new MessageListener() {
- @Override
- public void processMessage(Chat chat, Message message) {
- String messageBody = message.getBody();
- System.out.println("接收到信息:" +messageBody);
- }
- });
- }
- });
- //退出登陆
- conn.disconnect();
- ==========================================================================
- 获取我的好友列表
- ------------------------------------
- //设置服务器地址
- XMPPConnection conn = 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 (RosterEntry rosterEntry : rosters){
- System.out.print("name: " +rosterEntry.getName()+ ",jid: " +rosterEntry.getUser());
- System.out.println("" );
- }
- System.out.println("我的好友列表:=======================" );
- conn.disconnect();
- ==========================================================================
- 聊天窗口输入状态,使用XEP-0085 协议
- ------------------------------------
- //发送给test1初始文本信息,附带输入状态
- Message mess = new Message();
- mess.addExtension(new ChatStateExtension(ChatState.active));
- mychat.sendMessage(mess);
- //发送给test1初始文本信息,附带正在输入的状态
- Message mess = new Message();
- mess.addExtension(new ChatStateExtension(ChatState.composing));
- mychat.sendMessage(mess);
- //发送给test1初始文本信息,附带暂停输入的状态
- Message mess = new Message();
- mess.addExtension(new ChatStateExtension(ChatState.paused));
- mychat.sendMessage(mess);
- //其他略。。。
- //接收的时候
- public void processMessage(Chat chat, Message message) {
- String messageBody = message.getBody();
- PacketExtension pe;
- 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(XMPPConnection conn, String room,
- String inviter, String reason, String password, Message message) {
- MultiUserChat multiUserChat = new MultiUserChat(conn, room);
- System.out.println("收到来自 " +inviter+ " 的聊天室邀请。邀请附带内容:" +reason);
- try {
- multiUserChat.join("test2" , password);
- } catch (XMPPException e) {
- System.out.println("加入聊天室失败" );
- e.printStackTrace();
- }
- System.out.println("成功加入聊天室" );
- multiUserChat.addMessageListener(new PacketListener() {
- @Override
- public void processPacket(Packet packet) {
- Message message = (Message)packet;
- //接收来自聊天室的聊天信息
- System.out.println(message.getFrom()+":" +message.getBody());
- }
- });
- }
- //发送信息到聊天室
- multiUserChat.sendMessage("新手到来,大家关照!" );
- });
- ==========================================================================
- 登陆gtalk
- ------------------------------------
- XMPPConnection conn = 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 (RosterEntry rosterEntry : rosters){
- System.out.print("name: " +rosterEntry.getName()+ ",jid: " +rosterEntry.getUser());
- System.out.println("" );
- }
- System.out.println("我的好友列表:=======================" );
- conn.disconnect();
- ==========================================================================
=============================================================== 主动发送信息给某个用户 ------------------------------------ XMPPConnection.DEBUG_ENABLED = true; //设置服务器地址 XMPPConnection conn = new XMPPConnection("127.0.0.1"); conn.connect(); //输入账号和密码登陆 conn.login("test2@127.0.0.1", "123456"); //创建一个和test1的对话,并设置信息监听 Chat mychat = conn.getManager().create("test1@127.0.0.1", new MessageListener() { @Override public void processMessage(Chat chat,, Message message) { String messageBody = message.getBody(); System.out.println("收到信息:"+messageBody); } }); //发送给test1文本信息 mychat.sendMessage("hello"); //退出登陆 conn.disconnect(); =============================================================== 设置自己的登陆状态 ------------------------------------ XMPPConnection.DEBUG_ENABLED = true; //设置服务器地址 XMPPConnection conn = new XMPPConnection("127.0.0.1"); conn.connect(); //输入账号和密码登陆 conn.login("test2@127.0.0.1", "123456"); //设置登陆后的个人状态信息 Presence p = new Presence(Presence.Type.available); p.setStatus("发呆中。。。"); conn.sendPacket(p); //退出登陆 conn.disconnect(); ========================================================================== 被动接收用户发来的信息 ------------------------------------ XMPPConnection.DEBUG_ENABLED = true; //设置服务器地址 XMPPConnection conn = 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(Chat chat, boolean createdLocally) { chat.addMessageListener(new MessageListener() { @Override public void processMessage(Chat chat, Message message) { String messageBody = message.getBody(); System.out.println("接收到信息:"+messageBody); } }); } }); //退出登陆 conn.disconnect(); ========================================================================== 获取我的好友列表 ------------------------------------ //设置服务器地址 XMPPConnection conn = 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(RosterEntry rosterEntry : rosters){ System.out.print("name: "+rosterEntry.getName()+",jid: "+rosterEntry.getUser()); System.out.println(""); } System.out.println("我的好友列表:======================="); conn.disconnect(); ========================================================================== 聊天窗口输入状态,使用XEP-0085 协议 ------------------------------------ //发送给test1初始文本信息,附带输入状态 Message mess = new Message(); mess.addExtension(new ChatStateExtension(ChatState.active)); mychat.sendMessage(mess); //发送给test1初始文本信息,附带正在输入的状态 Message mess = new Message(); mess.addExtension(new ChatStateExtension(ChatState.composing)); mychat.sendMessage(mess); //发送给test1初始文本信息,附带暂停输入的状态 Message mess = new Message(); mess.addExtension(new ChatStateExtension(ChatState.paused)); mychat.sendMessage(mess); //其他略。。。 //接收的时候 public void processMessage(Chat chat, Message message) { String messageBody = message.getBody(); PacketExtension pe; 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(XMPPConnection conn, String room, String inviter, String reason, String password, Message message) { MultiUserChat multiUserChat = new MultiUserChat(conn, room); System.out.println("收到来自 "+inviter+" 的聊天室邀请。邀请附带内容:"+reason); try { multiUserChat.join("test2", password); } catch (XMPPException e) { System.out.println("加入聊天室失败"); e.printStackTrace(); } System.out.println("成功加入聊天室"); multiUserChat.addMessageListener(new PacketListener() { @Override public void processPacket(Packet packet) { Message message = (Message)packet; //接收来自聊天室的聊天信息 System.out.println(message.getFrom()+":"+message.getBody()); } }); } //发送信息到聊天室 multiUserChat.sendMessage("新手到来,大家关照!"); }); ========================================================================== 登陆gtalk ------------------------------------ XMPPConnection conn = 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(RosterEntry rosterEntry : rosters){ System.out.print("name: "+rosterEntry.getName()+",jid: "+rosterEntry.getUser()); System.out.println(""); } System.out.println("我的好友列表:======================="); conn.disconnect(); ==========================================================================
相关推荐
这个是Smack API的中文版,详细介绍了smack原理,并且有几个小例子在里面
1)smack api,基于smack官方javadoc制作而成,格式chm,语言english; 2)smack documentation,内容包括Overview,Getting Started Guide等等,格式chm,语言为中文(感谢fhqdddddd的奉献,本文档基于...
Smack中文API文档
xmpp协议java实现 smack3.0 api文档
smack api帮助文档官方提供的帮助工具
smack API XMPP,openfire开发必备。
找了好久,终于找到了smack中文版的api了
amsmck jar包+smack API XMPP开发
smack API文档,aSmack通用,英文版,即时通讯开发值得参考
smack API XMPP,openfire开发必备,多多支持哦
smackAPI中文版本和英文版本,非常容易懂的
smark+openfire 构建即时通讯系统,本资源为smark的中文API
smack api,xmpp协议的客户端开发
Smack_API.chm Help Documents
smack2.2中文API
xmpp协议的java实现库,smack3.04 chm格式
基于xmpp协议的开源库smack接口api详细介绍 对于英文不好的孩纸非常有帮助的~
Smack帮助文档中文版:XMPP协议包括一个基本协议和许多可选扩充,像具有代表性的"JEP's".Smack 为核心XMPP协议提供了org.jivesoftware.smack包,为许多协议扩充提供了org.jivesoftware.smackx包.
Smack的主要优势: 使用简单且拥有强大的API。向用户发送一条文本消息只需用一下三行代码即可完成 XMPPConnection connection = new XMPPConnection("jabber.org"); connection.login("mtucker", "password"); ...
具有Openfire和Smack Api的Java客户端屏幕内容它是使用Java编写的Smack API和Openfire服务器与Spark客户端进行通信的客户端。谢谢