这个是写客户端连接服务端的内容 我们这里使用的封装好的jar包 samck来完成xmpp即时通讯
//如有不了解xmpp请看 http://blog.csdn.net/lnb333666/article/details/7471292 这是前辈做的分析 讲的很清晰
//如不了解smack清看 http://wangqinghua123.iteye.com/blog/1341355 这里讲解了框架的具体情况 github下载地址
以上看了很多帖子都基本讲的一样所以那么我们就开始连接服务器吧
1.连接服务器
<pre name="code" class="html">/**
* 连接服务器
*
* @return
*/
public boolean conServer() {
ConnectionConfiguration config = new ConnectionConfiguration(
127.0.0.1, 5222); //第一个是连接域名 , 第二个是端口号 记住不是web端的端口号默认就填写5222即可
/** 是否启用安全验证 */
config.setSASLAuthenticationEnabled(false);
/** 是否启用调试 */
// config.setDebuggerEnabled(true);
/** 创建connection链接 */
try {
connection = new XMPPConnection(config);
/** 建立连接 */
connection.connect();
return true;
} catch (XMPPException e) {
e.printStackTrace();
}
return false;
}
2.
* 登录
*
* @param a 登录帐号
* @param p 登录密码
* @return
*/
public boolean login(String a, String p) {
try {
if (connection == null)
return false;
/** 登录 */
connection.login(a, p);
return true;
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
3.实现单聊
public boolean sendMessage(String messsage, String from, String to) {
XMPPConnection connection = XmppConnectionPools.getConnFromPools(Long.parseLong(from));
ChatManager chatManager = connection.getChatManager();
Message messages = new Message();
messages.setBody(messsage);
messages.setFrom(ConfigUtils.opUserName+(int)(Long.parseLong(from)%Integer.parseInt(ConfigUtils.connMax))+"@"+ConfigUtils.domin);
messages.setTo(to+"@"+ConfigUtils.domin);
Chat chat = chatManager.createChat(to+"@"+ConfigUtils.domin, new MessageListener() {
public void processMessage(Chat chat, Message message) {
System.err.println("Received Message : " + message.getBody());
}
});
try {
chat.sendMessage(messages);
} catch (XMPPException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return false;
}
return true;
}
以上便是聊天界面了 想要demo源码的 请下载前辈写的:进去就知道谁写的了 下载源码
所需工具下载地址 Android IM开发 Ejabberd+asmck+spack