Smack可用于XMPP客户端的开发,下载Smack,将相关jar文件导入后,即可以开始XMPP客户端的开发。

以下代码实现了客户端连接Tigase服务器,并根据用户名和密码登录。

package Xmpp;

import org.jivesoftware.smack.ConnectionConfiguration;
import org.jivesoftware.smack.ConnectionConfiguration.SecurityMode;
import org.jivesoftware.smack.XMPPConnection;
import org.jivesoftware.smack.XMPPException; /**
* XMPP Client
* @author HZ
* @since 2014-09-01
* @version 1.0.0
*/
public class Client { public static XMPPConnection xmpp_conn;
public static ConnectionConfiguration xmpp_conf; // 服务器IP
public static String xmpp_ip = new String("10.3.93.213");
// 服务器名
public static String xmpp_host = new String("tsung213");
// 服务器端口
public static int xmpp_port = 5222; // 用户名和密码
public static String user = new String("hz_12");
public static String pass = new String("123456"); public static void main(String[] args) {
conn();
} // 连接服务器
public static void conn(){ try{
// 配置连接
xmpp_conf = new ConnectionConfiguration(xmpp_ip, xmpp_port, xmpp_host);
xmpp_conf.setReconnectionAllowed(true);
xmpp_conf.setSecurityMode(SecurityMode.disabled);
xmpp_conf.setSASLAuthenticationEnabled(false);
xmpp_conf.setCompressionEnabled(false); // 连接,并根据用户名和密码登录
xmpp_conn = new XMPPConnection(xmpp_conf);
xmpp_conn.DEBUG_ENABLED = true;
xmpp_conn.connect();
xmpp_conn.login(user, pass); // 获取相关变量
String tmp;
tmp = xmpp_conn.getConnectionID();
System.out.println("ConnectionID:" + tmp);
tmp = xmpp_conn.getHost();
System.out.println("Host:" + tmp);
tmp = xmpp_conn.getServiceName();
System.out.println("ServiceName:" + tmp);
tmp = xmpp_conn.getUser();
System.out.println("User:" + tmp);
}
catch (XMPPException e){
System.out.println("Error:" + e.toString());
} } }

运行结果:

XMPP客户端开发(1)--连接和登录的更多相关文章

  1. XMPP客户端开发(2)--发送接收消息

    客户端连接上服务器并登录以后,可以发送.接收消息. 首先需要定义Chat,MessageListener和ChatMessageListener几个变量: private static Chat ch ...

  2. XMPP通讯开发-好友获取界面设计

    在XMPP通讯开发-服务器连接 中我们成功连接到服务器上面,然后进入到主界面,接下来就是获取好友列表,这里我们分段开发,首先就是界面的设计,这里仿照QQ好友界面,里面的数据先是用模拟的,下一章获取服务 ...

  3. XMPP 客户端和服务端

    GPLv2授权不能商用 XMPP协议的客户端软件列表 http://zh.wikipedia.org/wiki/XMPP%E5%8D%94%E8%AD%B0%E7%9A%84%E5%AE%A2%E6% ...

  4. 在线教学、视频会议 Webus Fox(3) 客户端开发手册

    本文主要介绍webus fox 客户端的配置及接口说明. 1. 文件列表和配置 1.1 文件列表 1.2 common.xml 配置 根据服务器端的部署, 替换[ServerUrl] , [RtmpP ...

  5. 用Jersey为Android客户端开发Restful Web Service

    平时在做Android客户端的时候经常要与服务器之间通信,客户端通过服务端提供的接口获取数据,然后再展示在客户端的界面上,作为Android开发者,我们平时更多的是关注客户端的开发,而对服务端开发的关 ...

  6. IOS Socket 03-建立连接与登录

    1. 搭建python服务器 这里我们用到python服务器Socket Server.如何运行Server?下面介绍 1)通过百度云下载文件 http://pan.baidu.com/s/1i5yb ...

  7. javaweb学习总结(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册

    一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...

  8. JavaWeb学习 (二十一)————基于Servlet+JSP+JavaBean开发模式的用户登录注册

    一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...

  9. 基于Servlet+JSP+JavaBean开发模式的用户登录注册

    http://www.cnblogs.com/xdp-gacl/p/3902537.html 一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBea ...

随机推荐

  1. java内存管理总结

    编译好的java程序需要运行在jvm中. 程序,无论是代码还是数据,都需要存储在内存中.JVM为java提供并管理所需要的内存空间. JVM内存分为堆.栈.方法区. 对象存储在堆中. This liv ...

  2. c#生成MD5字符串

    public static string EncryptWithMD5(string source) { byte[] sor = Encoding.UTF8.GetBytes(source); MD ...

  3. Post方式的Http流请求调用

    HttpRequest公共类: public static class HttpRequestAction { /// <summary> /// 发送http请求并返回响应 /// &l ...

  4. Redis中统计各种数据大小的方法

    转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/125.html?1455853369如果 MySQL 数据库比较大的话,我 ...

  5. Kafka与Logstash的数据采集对接 —— 看图说话,从运行机制到部署

    基于Logstash跑通Kafka还是需要注意很多东西,最重要的就是理解Kafka的原理. Logstash工作原理 由于Kafka采用解耦的设计思想,并非原始的发布订阅,生产者负责产生消息,直接推送 ...

  6. Atitit 马尔可夫过程(Markov process) hmm隐马尔科夫。 马尔可夫链,的原理attilax总结

    Atitit 马尔可夫过程(Markov process) hmm隐马尔科夫. 马尔可夫链,的原理attilax总结 1. 马尔可夫过程1 1.1. 马尔科夫的应用 生成一篇"看起来像文章的 ...

  7. 快速入门系列--TSQL-01基础概念

    作为一名程序员,对于SQL的使用算是基础中的基础,虽然也写了很多年的SQL,但常常还是记不清一些常见的命令,故而通过一篇博文巩固相关的记忆,并把T-SQL本身的一些新特性再进行一次学习. 首先回顾基础 ...

  8. 移动web开发之像素和DPR

    × 目录 [1]定义 [2]分类 [3]缩放[4]DPR 前面的话 像素在web开发中几乎天天用到,但到底什么是像素,移动端和桌面端的像素有区别吗,缩放对像素有影响吗,视网膜屏幕和像素有什么关系?关于 ...

  9. 如何让nodejs同步操作

    众所周知,异步是nodejs中得天独厚的特点和优势,但同时在程序中同步的需求(比如控制程序的执行顺序为:func1 -> func2 ->func3 )也是很常见的.本文就是对这个问题记录 ...

  10. 使用ab进行页面的压力测试

    ab是apache自带的一个很好用的压力测试工具,当安装完apache的时候,就可以在bin下面找到ab 参数说明及示例 我们可以模拟100个并发用户,对一个页面发送1000个请求 输入命令:ab - ...