Smack Roster获取不到名册
来源:互联网 发布:魔眼软件 编辑:程序博客网 时间:2024/04/30 12:53
最近搞OpenFire,一直在摸索一个XMPP协议的java lib: smack。
今天遇到一个很蛋疼的问题,记录一下。
Roster用来获取名册的类,但是按照文档里面那么写,获取到的Roster永远为空。
/** * Created by Mario on 2016/11/25 0025. * Roster demo */public class SmackRosterDemo { public static void main(String[] args) throws IOException, XMPPException, SmackException, InterruptedException { SmackConfiguration.DEBUG = true; XMPPTCPConnectionConfiguration.Builder configBuilder = XMPPTCPConnectionConfiguration.builder(); configBuilder.setServiceName("mario"); configBuilder.setUsernameAndPassword("mario", "123.com"); configBuilder.setResource("Spark"); configBuilder.setSecurityMode(ConnectionConfiguration.SecurityMode.disabled); XMPPTCPConnection connection = new XMPPTCPConnection(configBuilder.build()); connection.connect(); connection.login(); System.out.println(connection.isAuthenticated()); Roster roster = Roster.getInstanceFor(connection); Collection<RosterEntry> entries = roster.getEntries(); entries.forEach(System.out::println); Thread.sleep(1000000); connection.disconnect(); }}
这是我的代码,entries.forEach(System.out::println);不会有任何的输出。这让我郁闷了一天,调试着玩的时候,偶然输出了一次名单,多次试验发现了一个奇怪的事情····
....... connection.login(); System.out.println(connection.isAuthenticated()); Thread.sleep(100);//看这里!!! Roster roster = Roster.getInstanceFor(connection); Collection<RosterEntry> entries = roster.getEntries(); entries.forEach(System.out::println);.......
connection.login()之后,sleep一下,就可以获取到名册了。
这是输出:
trueluigi: luigi@mario [Friends]
坑真多啊,有哪个大神知道原因,求告诉~
0 0
- Smack Roster获取不到名册
- 认识smack中的基本对象 - Roster对象
- 认识smack中的基本对象 - Roster对象
- Smack文档五:Roster 和 Presence
- roster
- openfire+spark+smack 即时通讯(问题篇一)离线消息获取不到
- openfire+spark+smack 即时通讯(问题篇一)离线消息获取不到
- Android smack 4.2.0 OutgoingChatMessageListener 监听不到
- smack+ejabberd 获取离线消息
- portal名册解析
- smack
- smack
- smack
- Smack
- smack
- smack
- Android获取不到ID
- android cookie 获取不到
- java i/o 流
- ecshop SQL注入通杀漏洞以及后台拿SHELL
- 使用外连接查询信息
- 第十一章上机练习
- JMeter参数化方法
- Smack Roster获取不到名册
- 版本校验,正则分享
- 常用插件
- nginx、fastCGI、php-fpm关系梳理
- NetRiver - IPv6协议转发实验
- 十一章 上机练习4 + 5
- Android 解决使用Log打印日志的时候中文是乱码(unicode)
- 安卓定时通知的研究与实现思路
- Assign Cookies(分蛋糕)