上一节说了挺多的废话,俗话说的好:“光说不练假把式!”,我们这里就来动手实现一个基于XMPP协议和Android客户端的简单应用,为什么说这是一个简单应用,因为本人在做这个应用之前对于Android可以说是一窍不通,所以里面涉及到的程序都是非常的基础和简陋的,还希望大家能够见谅!
开发的第一步,我们来架设一个opnfire的服务器,关于这一步其实网上有很多,我这里提供我的一个步骤:
基本的条件:
操作系统:ubuntu12.04LTS X86 32
数据库:mysql
JDK
1、安装mysql
sudo apt-get install mysql-server
在安装的过程中系统会要求你设置mysql的密码,为了简单起见我们就设置成了“123456”.
2、创建openfire数据库
mysql -u root -p
CREATE DATABASE openfire;(
注意这里有分号的哦!!!)
quit;
3、安装JDK,这一步省略,因为大部分的操作系统都已经预装了jdk。
4、安装opnfire
首先:从openfire的官方网站下载适合自己操作系统的版本: 对于ubuntu就可以选择Debian的版本就可以了!
然后:sudo dpkg -i openfire_3.7.1_all.deb
最后:打开你的浏览器:输入
进行初始化安装,在数据库选择的时候,选择外部的数据库,并键入:
jdbc:mysql://localhost:3306/openfire?useUnicode=true&characterEncoding=UTF-8&characterSetResults=UTF-8
安装完成了!
现在服务器准备就绪了,我们来写一个小的java程序测试一下服务器是否能够,正常工作,首先我们打开:localhost:9090,登录到openfire服务器之上,我们在上面创建两个用户
用户:user1
密码:passw0rd
用户:user2
密码:passw0rd
password的o用0代替了!
创建完了用户,我们就来说用来进行开发的开源的库,原生的java库是,安卓的话需要用到asmack,当然原生的smack安卓也是支持的,但是当我们调用原生的库创建聊天室的时候会出现错误,所以如果你用安卓来开发还是建议你使用,现在asmack放在了github上管理,大家可以积极贡献开源社区哦!
我在实现的时候参考了smack的
官方文档:其实这份官方文档已经非常的完备了,只是涉及到了具体的平台会出一些小的问题:
首先我们来创建一个java的工程,然后将smack的jar文件导入到java的工程之中,实现一个连接服务器的函数:
-
public class TestConnect{
-
public void connect(){
-
ConnectionConfiguration config = new ConnectionConfiguration("10.101.158.103",5222);
-
config.setSelfSignedCertificateEnabled(true);
-
config.setSASLAuthenticationEnabled(false);
-
config.setDebuggerEnabled(false);
-
config.setSecurityMode(ConnectionConfiguration.SecurityMode.required);
-
XMPPConnection connection = new XMPPConnection(config);
-
try{
-
connection.connect();
-
Presence presence = new Presence(Presence.Type.available);
-
presence.setStatus("Q我吧");
-
connection.sendPacket(presence);
-
Thread.currentThread().sleep(100000);
-
}catch(Exception e){
-
e.printStackTrace();
-
}
-
}
-
public static void main(String[] args)throws XMPPException{
-
TestConnect tConnect=new TestConnect();
-
tConnect.connect();
-
}
-
-
}
一定要注意这里的ConnectionConfiguration
("10.101.158.103",5222
),这个IP地址是你本机的IP地址,不要写localhost或者127.0.0.1,不然会出现问题,默认的端口是:5222
假如执行了程序没有错误,当你登录到openfire服务器的时候会发现user2显示在线的状态了!!!
OK!!这样我们就搭建完成了自己的openfire服务器并且使用smack库连接成功了,下一节开始我们用android开发聊天室!
阅读(1230) | 评论(0) | 转发(0) |