基于Smack3.0.4+ Openfire3.10.2下学习开发IM(一)实现用户登录、修改密码、删除指定用户和注册新用户等
2015-11-03 02:01
1021 查看
以前学习过用Scoket 建立聊天,简单的建立聊天是没问题的,但如果要实现多人复杂的聊天,后台服务器代码就比较复杂,对于我这新手来讲就比较难了。后来在网上看到用openfire做服务器,利用强大的Smack API库来实现IM聊天就简单多了。
网上也有很多关于这方面的资料,我就在这里把网上的资料和自己的理解总结一下和大家一起交流学习。
需要用到以下几个工具:
Openfire 最新版本(openfire 3.10.2)
下载地址:http://www.igniterealtime.org/downloads/index.jsp
安装配置可参考:http://www.cnblogs.com/hoojo/archive/2012/05/17/2506769.html
Smack 最新版本(Smack4.1.4,而我选用的Smack是3.0.4版本)
下载地址:http://www.igniterealtime.org/downloads/index.jsp
需要安装的安装好,需要下载的下载好(这里就不多作介绍)。创建项目工程,导入ASmack jar包,OK,下面就一起去学习怎么实现 用户注册、登录、修改密码和注销等一些功能!
首先第一、与服务器建立好连接
关键代码:zhou_pc为服务器IP,5222为服务器端口号
第二、实现登录
关键代码: 代码很简单不做太多解释
关键代码:同样很简单
第四:删除
关键代码:很简单吧!
第四:注册
关键代码:很简单吧!
网上也有很多关于这方面的资料,我就在这里把网上的资料和自己的理解总结一下和大家一起交流学习。
需要用到以下几个工具:
Openfire 最新版本(openfire 3.10.2)
下载地址:http://www.igniterealtime.org/downloads/index.jsp
安装配置可参考:http://www.cnblogs.com/hoojo/archive/2012/05/17/2506769.html
Smack 最新版本(Smack4.1.4,而我选用的Smack是3.0.4版本)
下载地址:http://www.igniterealtime.org/downloads/index.jsp
需要安装的安装好,需要下载的下载好(这里就不多作介绍)。创建项目工程,导入ASmack jar包,OK,下面就一起去学习怎么实现 用户注册、登录、修改密码和注销等一些功能!
首先第一、与服务器建立好连接
关键代码:zhou_pc为服务器IP,5222为服务器端口号
package com.openfire.util; import org.jivesoftware.smack.ConnectionConfiguration; import org.jivesoftware.smack.XMPPConnection; public class SmackConnectionUtil { private static XMPPConnection connection = null; public static XMPPConnection getInstance(String serverName, int port) { if (connection == null) { ConnectionConfiguration config = new ConnectionConfiguration(serverName, port); config.setSASLAuthenticationEnabled(false); connection = new XMPPConnection(config); } return connection; } }
第二、实现登录
关键代码: 代码很简单不做太多解释
/** * 登录 * * @param connection * xmpp服务器连接 * @param username * 登录帐号 * @param password * 登录密码 * @return */ public static boolean login(XMPPConnection connection, String username, String password) { try { if (connection == null) return false; connection.connect(); /** 登录 */ connection.login(username, password); return true; } catch (Exception e) { e.printStackTrace(); } return false; }第三、修改密码
关键代码:同样很简单
/** * 更改密码 * * @param connection * xmpp服务器连接 * @param username * 帐号 * @param password * 旧密码 * @param password * 新密码 * @return */ public static boolean update(XMPPConnection connection, String username, String password, String newpassword) { try { if (connection == null) return false; connection.connect(); /** 登录 */ connection.login(username, password); /** 用户操作实例对象:AccountManager */ connection.getAccountManager().changePassword(newpassword); return true; } catch (Exception e) { e.printStackTrace(); } return false; }
第四:删除
关键代码:很简单吧!
/** * 删除 * * @param connection * xmpp服务器连接 * @return true、删除成功 false、删除失败 * @throws XMPPException */ public static boolean delete(XMPPConnection connection) { if (connection == null) return false; try { connection.connect(); /** 登录(openfire 管理员的账户和密码) :提示执行删除指令,会删除登入的指定用户*/ connection.login("admin", "769023183"); connection.getAccountManager().deleteAccount(); } catch (XMPPException e) { // TODO Auto-generated catch block e.printStackTrace(); } return true; }
第四:注册
关键代码:很简单吧!
/** * 注册 * * @param account * 注册帐号 * @param password * 注册密码 * @return true、注册成功 false、注册失败 * @throws XMPPException */ public static boolean regist(XMPPConnection connection, String account, String password){ if (connection == null) return false; try { connection.connect(); AccountManager amgr = connection.getAccountManager(); amgr.createAccount(account, password); } catch (XMPPException e) { // TODO Auto-generated catch block return false; } return true; }哦,这么晚了,今天的代码就编写到此。明天进入第二讲开发。(IM的分组、好友和头像) 源码下载地址:openfire+smack3.0.4的Demo
相关文章推荐
- Word Properties <?ref:xdo000X?> - BIP Deskotop 11.119.00.0 (32-bit) with Office 2013 (32-bit) on Win 7 64-bit
- apache kafka源代码分析工程搭建(IDEA)
- 浅谈搜索引擎技术原理与架构
- 进程间数据通信方式及特点
- Linux fork函数
- Notes Understanding the Linux kernel
- Linux w 命令
- nginx基础系列
- 在 Linux 中安装 jdk 和 Tomcat 中遇到的命令
- Linux下常用的性能分析top
- linux新手常用指令
- tomcat证书制作
- Tomcat中的类装载器
- PHP基础——PHP、MySQL、Apache配置
- Linux启动脚本输出pid
- CentOS7.0安装Nginx1.9.6
- Linux编程常见错误及解决方案
- thinkphp nginx php-fpm url rewrite 导致 404 错误
- nginx php 配置
- centos linux从无到有安装wordpress