asmack 라이브러리의 도움으로 안드로이드의 BOSH 관리자를 사용하여 ejabber와 연결하려고합니다.서버에 로그인하는 동안 서버에 로그인하지 않았습니다.
다음 오류가 발생합니다.
Caused by: java.lang.IllegalStateException: Not logged in to server.
at org.jivesoftware.smack.Roster.reload(Roster.java:197)
at org.jivesoftware.smack.BOSHConnection.login(BOSHConnection.java:351)
at org.jivesoftware.smack.Connection.login(Connection.java:353)
at com.bcl.BoradCastLocationActivity$StartXMPPConnection.doInBackground(BoradCastLocationActivity.java:75)
at com.bcl.BoradCastLocationActivity$StartXMPPConnection.doInBackground(BoradCastLocationActivity.java:1)
at android.os.AsyncTask$2.call(AsyncTask.java:185)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306)
... 4 more
여기는이 한는 버그가 표시된 aSmack 소스에서 내 코드
SASLAuthentication.registerSASLMechanism("DIGEST-MD5",SASLDigestMD5Mechanism.class);
SASLAuthentication.supportSASLMechanism("DIGEST-MD5", 1);
System.setProperty("smack.debugEnabled", "true");
XMPPConnection.DEBUG_ENABLED = true;
SmackConfiguration.setPacketReplyTimeout(6000);
BOSHConfiguration bconfig = new
BOSHConfiguration(false, "example.com", 5280, "/xmpp-http-bind/", "example.com");
bconfig.setSASLAuthenticationEnabled(true);
BOSHConnection xmpp = new BOSHConnection(bconfig);
xmpp.connect();
xmpp.login("username","password"); // HERE I AM GETTING AN ERROR
aSmack에서 BOSH 패치와 3.2.0 분기의 병합으로 인한 버그와 같이 보입니다. – Flow