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

时间: 2024-09-29 16:57:31

Smack实现XMPP即时通信--接收消息的相关文章

Openfire XMPP Smack RTC IM 即时通讯 聊天

目录 目录简介Openfire 简介相关的几个名词SmackSparkJIDXMPPOpenfire 安装配置测试代码初始化登录服务器登录底层报文通讯简要解析登录底层报文通讯简要解析服务器判断客户端是否在线发送消息测试案例代码项目结构MainActivity常用功能封装的工具栏 简介 Demo地址:https://github.com/baiqiantao/OpenFireTest.git 官网 官方文档 OpenFire下载 Openfire 简介 Openfire Openfire是一个根据

iOS学习43即时通信之XMPP(2)

本篇是 即时通信之XMPP(2) 接上次 即时通信之XMPP(1) 1. 好友列表 1> 初始化好友花名册 // 获取管理好友的单例对象 XMPPRosterCoreDataStorage *rosterStorage = [XMPPRosterCoreDataStorage sharedInstance]; // 给roster属性进行初始化 self.xmppRoster = [[XMPPRoster alloc] initWithRosterStorage:rosterStorage di

基于XMPP协议的Android即时通信系

以前做过一个基于XMPP协议的聊天社交软件,总结了一下.发出来. 设计基于开源的XMPP即时通信协议,采用C/S体系结构,通过GPRS无线网络用TCP协议连接到服务器,以架设开源的Openfn'e服务器作为即时通讯平台. 系统主要由以下部分组成:一是服务器,负责管理发出的连接或者与其他实体的会话,接收或转发XML(ExtensibleMarkup Language)流元素给授权的客户端.服务器等:二是客户终端.它与服务器相连,通过XMPP获得由服务器或任何其它相关的服务所提供的全部功能.三是协议

(转)基于即时通信和LBS技术的位置感知服务(二):XMPP协议总结以及开源解决方案

在<基于即时通信和LBS技术的位置感知服务(一):提出问题及解决方案>一文中,提到尝试使用XMPP协议来实现即时通信.本文将对XMPP协议框架以及相关的C/S架构进行介绍,协议的底层实现不再本文的讨论范围. 一.什么是XMPP? 介 绍XMPP之前,我们先来聊聊GTalk.GTalk是Google推出的IM(Instant Messaging,即时通讯)软件,类似于QQ和MSN.从技术角度来说,GTalk与QQ和MSN的差异是使用了不同的通讯协议,QQ使用了自己的私 有协议(未公开),MSN也

[转] 基于XMPP协议的Android即时通信系

转自:http://blog.csdn.net/lnb333666/article/details/7471292 以前做过一个基于XMPP协议的聊天社交软件,总结了一下.发出来. 设计基于开源的XMPP即时通信协议,采用C/S体系结构,通过GPRS无线网络用TCP协议连接到服务器,以架设开源的Openfn'e服务器作为即时通讯平台. 系统主要由以下部分组成:一是服务器,负责管理发出的连接或者与其他实体的会话,接收或转发XML(ExtensibleMarkup Language)流元素给授权的客

android smack源码分析——接收消息以及如何解析消息

在android里面用的smack包其实叫做asmack,该包提供了两种不同的连接方式:socket和httpclient.该并且提供了很多操作xmpp协议的API,也方便各种不同自定义协议的扩展.我们不需要自己重新去定义一套接收机制来扩展新的协议,只需继承然后在类里处理自己的协议就可以了.而本文今天主要说两点,一点就是消息是如何接收的,另一点就是消息是如何通知事件的. 总的思路 1.使用socket连接服务器 2.将XmlPullParser的数据源关联到socket的InputStream

XMPP——Smack[5]文件传输及离线消息的获取

三天时间,赶在最后一下午实现了文件的传输,本来需要实现离线文件的发送的,一直没想好怎么弄,找openfire的离线文件插件没找到,后来想出一种方法,起服务器时起了一个系统用户,一直在线,当用户发送离线文件,检测到对方不存在,先发给系统用户,存到服务器路径,并在数据库中保存信息,当对方上线时,系统用户查表,拿文件发送 想是这么想的,问题是时间太紧,没有实现,囧. 下一篇写离线消息和离线文件 文件的发送 开一个文件选择框,选中文件后再调用下面的方法 [java] view plaincopyprin

msgrcv,msgsnd进程通信,消息的发送和接收

//进程通信,消息的发送和接收 //client.c #include <unistd.h> #include <sys/types.h> #include <sys/socket.h> #include <netdb.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <ctype.h> #include <err

百度云消息推送机制在即时通信聊天界面的信息处理,技巧篇。

转载请注明出处:http://blog.csdn.net/yianemail/article/details/47044019 百度云消息推送,消息在客户端的处理以及消息显示方式是基于通知栏消息提示. 但是这明显不是我们想要的效果,我们想要的是利用它实现聊天,即:在通信聊天界面如何实时更新推送的消息,以不断接受的消息实现聊天. 一:我们知道利用百度消息推送,要实现自己的PushMessageReceiver. 里边重要的是有三个方法,即: public class BaiduPushReceiv