Я создаю приложение java fx для клиента openfire chat. Я использую smack 4.1 rc1 для подключения к серверу. Я могу подключиться к серверу для отправки информации о присутствии другим пользователям и отправлять сообщения другим пользователям. Однако я не могу перебирать список.Smack Roster Записи пустые
Когда я получаю объект-реестр и отлаживаю его, он показывает карту хэша из 3 записей в реестре, что означает, что список загружается в объект-реестр. однако, когда я использую метод roster.getentries
, чтобы сохранить его в Collection
записей в реестре, он показывает 0 объектов. даже метод roster.getentriescount()
возвращает 0, хотя я могу видеть имена пользователей реестра в целях отладки
try {
config = XMPPTCPConnectionConfiguration.builder()
.setUsernameAndPassword(mUserName+ "@" + Domain, mPassword)
.setServiceName(HostName)
.setHost(HostName)
.setPort(PortName)
.setResource(Resource)
.setSecurityMode(ConnectionConfiguration.SecurityMode.disabled)
.build();
mXmppConnection = new XMPPTCPConnection(config);
mXmppConnection.connect();
mXmppConnection.login();
// Presence presence=new Presence();
Presence presence ;
if(mPresence) presence = new Presence(Presence.Type.available);
else presence = new Presence(Presence.Type.unavailable);
presence.setStatus("On Smack");
XMPPConnection conn=(XMPPConnection) mXmppConnection;
Chat chat = ChatManager.getInstanceFor(mXmppConnection).createChat
("[email protected]");
chat.sendMessage("Howdy from smack!");
// Send the packet (assume we have a XMPPConnection instance called "con").
mXmppConnection.sendPacket(presence);
System.out.println("Connected successfully");
Roster roster = Roster.getInstanceFor(conn);
Collection<RosterEntry> entries = roster.getEntries();
int i=0;
for (RosterEntry entry : entries) {
System.out.println(entry);
i++;
}
System.out.println("Rosters Count - "+ i+ roster.getEntryCount());
имеет какой-либо один столкнулся с той же проблемой раньше?
Не видите, как вы устанавливаете параметры соединения, может быть, здесь проблема. Однако взгляните на http://stackoverflow.com/questions/11214684/smack-presence-doesnt-work. – user1929959