XMPP客户端开发(1)

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());
        }

    }

}

运行结果:

时间: 2024-11-12 02:46:24

XMPP客户端开发(1)的相关文章

XMPP 客户端开发 ----- 用户上传头像(四)

这篇记录下我利用XMPP实现上传头像的过程,发现XMPP真心很强大很多功能都已经实现了.我们只要直接调用就可以了.下面上代码了. 引入头文件   这个头文件需要自己导入不然  XMPPvCardTemp  下的方法调用不了. #import "XMPPvCardTemp.h" 声明相关对象 // 声明上传头像相关对象 @property (nonatomic , strong) XMPPvCardCoreDataStorage *xmppvCardStorage; @property

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

客户端连接上服务器并登录以后,可以发送.接收消息. 首先需要定义Chat,MessageListener和ChatMessageListener几个变量: private static Chat chat; private static MessageListener ml = new MessageListener(){ public void processMessage(Chat arg0, Message msg) { // 对消息的处理动作 } }; private static Ch

XMPP客户端库Smack 4.0.6版开发之三

XMPP客户端库Smack 4.0.6版开发之三 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs 六.建立连接的例子 XMPPConnection类用于创建一个到XMPP服务器的连接,代码例子如下: // 创建一个到jabber.org服务器的连接 AbstractXMPPConnection conn1 = new XMPPTCPConnection("username", "password", "jabb

XMPP客户端库Smack 4.0.6版开发

XMPP客户端库Smack 4.0.6版开发 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs 三.Smack库的特征1.极度简单易用,API功能强大发送一条文本消息给某个用户只需几行代码: AbstractXMPPConnection connection = new XMPPTCPConnection("mtucker", "password", "jabber.org"); connection.

XMPP客户端库Smack 4.0.6版开发之五

XMPP客户端库Smack 4.0.6版开发之五 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs 四.使用Chat消息通信 来回收发消息是即时通信的核心功能.尽管单条消息是以包的形式发送和接收的,通常还是把他视为聊天的消息字符串,使用org.jivesoftware.smack.Chat类. 1.Chat类 一个聊天Chat会在两个用户之间创建一个消息线程(通过线程ID).下面的代码片段演示了怎样创建一个新聊天,然后向用户发送一条文本消息: //假设

XMPP客户端库Smack 4.0.6版开发之六

XMPP客户端库Smack 4.0.6版开发之六 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs 五.名单Roster和在线状态Presence 名单可以让你跟踪其他用户是否在线,而且名单可以让你把用户组织到群组,比如朋友群或工作群.而其它的即时通信IM系统则把名单Roster视为好友列表.联系人列表等等. 1.名单条目 名单中的每一个用户都由RosterEntry来表示,它包括: 1)一个XMPP地址(比如"[email protected]&qu

XMPP 客户端和服务端

GPLv2授权不能商用 XMPP协议的客户端软件列表 http://zh.wikipedia.org/wiki/XMPP%E5%8D%94%E8%AD%B0%E7%9A%84%E5%AE%A2%E6%88%B6%E7%AB%AF%E8%BB%9F%E9%AB%94%E5%88%97%E8%A1%A8 下列是片面的即时消息客户端支持Jabber/XMPP协议的清单[1]. 目录 [隐藏] 1 单一协议XMPP客户端 1.1 开放源代码软件 1.2 专有的免费软件 1.3 商业软件 2 多通讯协议客

XMPP客户端库Smack 4.0.6版

XMPP客户端库Smack 4.0.6版 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs 一.Smack库概述 Smack是一个开源.易用的XMPP/Jabber客户端库,它使用Java语言开发,由Jive Software开发. Smack的优点是编程简单. Smack的缺点是其API并非为大量并发用户设计,每个客户都要1个线程,占用资源相对较,因此用Smack做模拟测试时,1台机器只能模拟有限(数千个)客户. 截止2014年11月27日,Smac

Unity3D技术之本地客户端开发入门

欢迎来到unity学习.unity培训.unity企业培训教育专区,这里有很多U3D资源.U3D培训视频.U3D教程.U3D常见问题.U3D项目源码,我们致力于打造业内unity3d培训.学习第一品牌. 本地客户端开发入门 本地客户端 (NaCl) 是 Google 提供的新技术,其允许您在 Web 页面嵌入本地可执行代码,以便您在无需安装插件的情况下部署性能非常强的 web 应用程序.目前,NaCl 仅支持在 Windows.Mac OS X 和 Linux(含可用的 Chrome 操作系统支