smack android集成问题记录
来源:互联网 发布:手机cpu控制软件 编辑:程序博客网 时间:2024/06/08 15:24
最近使用的项目中需要集成即时通讯,故使用smack 4.1.0 作为集成,集成方法见
https://github.com/igniterealtime/Smack/wiki/Smack-4.1-Readme-and-Upgrade-Guide
由于并不懂的新xmpp协议,所有先写个Demo来测试一下功能,有一些坑,特此记录一下:
1.连接
Thread connectThread = new Thread(){ @Override public void run() { //配置连接 XMPPTCPConnectionConfiguration mConnectConfig = XMPPTCPConnectionConfiguration.builder() .setServiceName(HOST).setUsernameAndPassword("18101399687@"+HOST,"123456").setDebuggerEnabled(true).setSecurityMode(ConnectionConfiguration.SecurityMode.disabled) .setCompressionEnabled(false).build(); //配置授权信息 SASLMechanism mechanism = new SASLDigestMD5Mechanism(); SASLAuthentication.registerSASLMechanism(mechanism); SASLAuthentication.blacklistSASLMechanism("SCRAM-SHA-1"); SASLAuthentication.unBlacklistSASLMechanism("DIGEST-MD5"); // Create a connection to the igniterealtime.org XMPP server. con = new XMPPTCPConnection(mConnectConfig); try { con.connect(); } catch (SmackException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch (XMPPException e) { e.printStackTrace(); } }};connectThread.start();其中setServiceName设置的是服务器地址,UserName 需要使用JID全名,由UserName@Host组成。
其次为了顺利登陆需要配置开启SASL机制,否则登陆时会报错org.jivesoftware.smack.sasl.SASLErrorException: SASLError using PLAIN: not-authorized
2.登陆
try { con.login();} catch (XMPPException e) { e.printStackTrace();} catch (SmackException e) { e.printStackTrace();} catch (IOException e) { e.printStackTrace();}3.发送文字消息
Chat chat = ChatManager.getInstanceFor(con).createChat("18101399690@27.17.34.22",this);try { chat.sendMessage("Hello world!");} catch (SmackException.NotConnectedException e) { e.printStackTrace();}4.接收消息
ChatMessageListener
就可以了 0 0
- smack android集成问题记录
- Android smack
- android-smack
- android studio关于友盟集成推送问题记录
- 微信支付 for android 集成笔记( 集成遇到问题记录)
- 微信支付 for android 集成笔记( 集成遇到问题记录)
- JIRA + LDAP集成问题记录
- smack 登陆问题
- Smack for Android
- Android openfire smack 源码
- Android openfire smack 源码
- Android smack send emoji
- Android+Smack+Openfire
- Android Studio 使用smack
- android集成环信遇到的一些问题记录一下方面以后查阅
- Android基于XMPP Smack openfire 开发的聊天室(三) 【新旧记录、踢人】
- Android基于XMPP Smack openfire 开发的聊天室(三) 【新旧记录、踢人】
- Android基于XMPP Smack openfire 开发的聊天室(三) 【新旧记录、踢人】
- install python-pip
- 一说出口就被误解的离职原因,这样补救!
- 如何在 Git 里撤销(几乎)任何操作
- MVP好文章转载
- 做好一个人
- smack android集成问题记录
- Linux 上安装 rlwrap
- MySQL(十一)常用函数
- 浅析python 中__name__ = '__main__' 的作用
- 多线程 Thread 和runnable区别
- 文件操作
- 关于JavaScript的小技巧总结
- linux命令之ngrep(网络抓包工具的使用)
- 基于eclipse & tomcat的Java Web系统搭建