1.连接openfire服务器
/**
* 建立即时通讯连接
* @return
*/
public boolean xMPPConnect() {
boolean result = false;
ConnectionConfiguration config = new ConnectionConfiguration(serverIp);
//serverIp表示的是你openfire服务器地址
config.setReconnectionAllowed(false);
con = new XMPPConnection(config);
try {
//通过xmpp的链接跟OPENFIRE服务器链接,并且通过login的方法,将用户名和密码传递到服务器中,前提是服务器中必须先有关该登陆人员的ID和密码
con.connect();
con.login(“xxxx”, "xxxxx", "cti", true);
logger.info(con.getUser() + " 登录即时通讯服务器成功!");
//系统登陆了以后,XMPPConnection将用户的ID以"ID@jobcn-da5f2ccee/cti"这种方式保存,所有在取得当前用户的时候,要拆分字符串,ID表示的是你登录的账号,@后面的字符串表示的是你在openfire所这是的域名
result = true;
} catch (XMPPException ex) {
logger.warning(person.getId() + " 登录即时通讯服务器失败!");
result = false;
}
return result;
}
2.初始化客户端信息
/**
* 初始化即时通讯
*/
public void initXMPP() {
roster = con.getRoster();
roster.addRosterListener(this);
PacketFilter filter = new PacketTypeFilter(Message.class);
con.addPacketListener(this, filter);
con.addConnectionListener(this);
//默认开放的两个组"我的好友","最近联系人",这是openfire指定的,名字固定的就是"我的好友","最近联系人"
RosterGroup rosterGroup_friends = roster.getGroup("我的好友");
if (rosterGroup_friends == null) {
rosterGroup_friends = roster.createGroup("我的好友");
}
RosterGroup rosterGroup_currentContract = roster.getGroup("最近联系人");
if (rosterGroup_currentContract == null) {
rosterGroup_currentContract = roster.createGroup("最近联系人");
}
FileTransferManager fileTransferManager = new FileTransferManager(con);
fileTransferManager.addFileTransferListener(this);
}
分享到:
相关推荐
Smack简化了与XMPP服务器的通信,提供了丰富的API来处理用户认证、会话管理、消息发送和接收、以及用户状态等。 首先,确保已经正确地安装了Smack库。通常,这可以通过在项目的构建路径中添加Smack的JAR文件或者...
搭建openfire后,用 smack api 连接服务的测试demo。运行官网范例,发现其实不易,smack4.1.4中缺少很多依赖于第3方的jar包。不断debug甚是痛苦,终于跑起来了。分享出来给只是想要个初体验的同学。
本文档详细介绍了基于Spark、Smack和Openfire构建IM系统的开发过程和关键知识点,旨在帮助开发者更好地理解和实践。 1. **Spark**: Spark是一款开源的Web即时通讯客户端,支持多种平台,包括Windows、Linux和Mac ...
Asmack是smack的android版,是对xmpp协议进行了封装,并提供了丰富的api,简化了操作。Openfire是一个开源的IM服务器,基于Xmpp实现。换句话说使用xmpp开发即时通讯应用的话,服务器端已经开发好了,就是openfire。
WebSocket、Smack 和 OpenFire 是三个在IT领域中与实时通信相关的关键技术,它们共同构建了高效、实时的网络通信解决方案。 WebSocket 是一种在 Web 应用程序中实现双向通信的协议,它允许客户端和服务器之间建立...
开发者可以通过这个源代码学习如何配置 Openfire 服务器,设置 WebSocket 连接,以及如何在客户端应用中使用 Smack API 进行即时通讯功能的开发。此外,源代码还可能包含了错误处理、安全配置、性能优化等方面的实践...
8. **群聊功能**:Openfire支持多用户聊天(MUC),Smack通过`MultiUserChat`类提供了相关的操作,如创建、加入群聊,发送群聊消息,管理群聊成员等。 9. **扩展功能**:Openfire和Smack都支持自定义XML扩展,这...
Openfire支持多种操作系统,并且具备强大的管理功能,如用户管理、群组管理、安全性设置等。通过Openfire,开发者可以搭建自己的即时通讯服务器,满足企业级或个人的需求。 要使用Smack连接Openfire,首先需要确保...
Openfire、Spark和Smack是三个与XMPP(Extensible Messaging and Presence Protocol)相关的开源项目,它们在构建即时通讯(IM)系统中扮演着重要角色。XMPP是一种基于XML的网络协议,主要用于实时通讯,包括消息...
解压smack_4_3_0.zip后,开发者可以使用其中的API来构建与Openfire或其他XMPP服务器交互的客户端应用。Smack提供了连接管理、会话建立、消息发送与接收、用户状态管理、多用户聊天室等功能。它的API设计直观,使得...
1. 学习Smack的基本API,包括连接服务器、创建实体、发送和接收消息等。 2. 实现Smack的高级功能,如多用户聊天室、离线消息处理、推送通知等。 **四、Spark与Openfire的集成** 1. 配置Spark连接Openfire服务器,...
Smack是一个为使用XMPP服务器聊天和发送即时消息交流而提供的库。 Smack的主要优势: 使用简单且拥有强大的API。向用户发送一条文本消息只需用一下三行...本文档将向你介绍Smack API,并大概介绍几个重要的类和概念。
【标题】"openfire+asmack中文api+androidDemo"涉及的是即时通讯(Instant Messaging, IM)技术在Android平台上的实现。Openfire是一款开源的XMPP服务器,而ASMACK是针对Android平台的XMPP库,它允许开发者在Android...
5. **其他功能**:除了基本的消息收发,Smack还支持群聊、用户状态管理、Roster(联系人列表)操作等。例如,可以使用`Roster`类来获取、添加、删除联系人,或者使用`MUC`(Multi-User Chat)API来创建和参与群聊。 ...
这个项目就是基于XMPP(Extensible Messaging and Presence Protocol)协议,使用Smack库,并结合Openfire服务器实现的。现在,我们将深入探讨这些关键组件以及如何将它们整合到Android应用中。 1. **XMPP协议**:...
Smack API与Openfire服务器配合使用,可以实现高效的、安全的P2P或者服务器中继的聊天功能。本文将深入探讨Smack API的基本概念、原理及其在实际应用中的使用方法。 ### 1. Smack API基本概念 Smack API是用Java...
Smack 4.1.4是该库的一个版本,它提供了API,使得开发者可以方便地实现XMPP功能,如创建连接、登录、发送和接收消息、管理联系人等。 在Android应用中集成Smack 4.1.4,你需要: 1. 添加Smack库的依赖到项目构建...
Openfire提供了丰富的API和管理界面,使得开发者可以方便地集成即时通讯功能到自己的应用中。 【三】WebIM与JWChat WebIM是嵌入到网页中的即时通讯客户端,无需安装额外软件即可使用。JWChat是一个基于AJAX技术的...