分享

Android客户端基于XMPP的IM(openfire+asmack)的聊天工具之环境搭建及与服务器建立连接(一)

 昵称597197 2015-07-14

[原]Android客户端基于XMPP的IM(openfire+asmack)的聊天工具之环境搭建及与服务器建立连接(一)

2014-10-30阅读345 评论5

                                  以下只是个人的入门练习

1、做一番百度,你就了解标题上的名词,赶紧去百度吧。

2、我用openfire作为服务端,就省得自己去搭建。

3、自己去下载Openfire,ASmack吧,网上老多了,下载后安装Openfire(安装配置网上也很多),导入asmack的jar包。

 主要文件浏览

/IM/src/com/example/service/XxmpConnection.java

import org.jivesoftware.smack.ConnectionConfiguration;
import org.jivesoftware.smack.XMPPConnection;
import org.jivesoftware.smack.XMPPException;

public class XxmpConnection {

 private static XMPPConnection con = null;
 private static void openConnection() {
  try {
   // url、端口,也可以设置连接的服务器名字,地址,端口,用户。
   ConnectionConfiguration connConfig = new ConnectionConfiguration("192.168.10.74", 5222);
   
//   configuration设置
//   connConfig.setReconnectionAllowed(true);
//   connConfig.setCompressionEnabled(false);
//   connConfig.setSecurityMode(ConnectionConfiguration.SecurityMode.disabled);
//   connConfig.setSASLAuthenticationEnabled(false);
   
   con = new XMPPConnection(connConfig);
   con.connect();
  } catch (XMPPException xe) {
   xe.printStackTrace();
  }
 }
 public static XMPPConnection getConnection() {
  if (con == null) {
   openConnection();
  }
  return con;
 }
 public static void closeConnection() {
  con.disconnect();
  con = null;
 }
}


先说说我注册时遇到的问题

搜了一下,有说设置客户端

configuration设置
connConfig.setReconnectionAllowed(true);
connConfig.setCompressionEnabled(false);
connConfig.setSecurityMode(ConnectionConfiguration.SecurityMode.disabled);
connConfig.setSASLAuthenticationEnabled(false);

有说设置服务端把 服务器设置——>安全设置——>客户端安全连接中的非必须改为自定义

我都试了一下,都没解决我的问题

是我大意了,我的电脑连的wifi服务端昨天写的,昨天和今天的ip不一样,所以改一下ip就好了

但是我还好奇如果我客户端没有给configuration配置会怎样呢,所以我注销了上面的配置

我人品好注册成功

然后我又把服务端自定义改为非必须,注册依旧成功

所以遇到问题多搜搜,解决方法都不一样。


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多