Не в состоянии получить ответ от smack
Я использую smack для подключения сервера ejabbard.
Чтобы подключиться к серверу ejabbard через smack, используя следующий код
val config=XMPPTCPConnectionConfiguration.builder() .setXmppDomain(mDomainName) .setUsernameAndPassword(mUsername,mPassword) .setDebuggerEnabled(true) mConnection= XMPPTCPConnection(config.build()) Log.v("Current status ",mConnection!!.isConnected().toString()) mConnection!!.connect()
Но в итоге получите сообщение об ошибке / предупреждении:
- Как связать событие onClick из представления с помощью Android Binding Library и Kotlin?
- Сеттер не вызвал для Kotlin POJO
- Ошибки привязки данных в прикладном модуле
- Невозможно создать привязки вида java.lang.NullPointerException
- Привязка данных к Android в подмодуле
4-15 12:09:22.626 2685-3195/com.example.itstym.kotlinchat I/DNSUtil: Could not resolve DNS SRV resource records for _xmpp-client._tcp.replica3377.cloudapp.net. Consider adding those. 04-15 12:09:23.033 2685-3208/com.example.itstym.kotlinchat D/SMACK: SENT (1): <stream:stream xmlns='jabber:client' to='replica3377.cloudapp.net' xmlns:stream='http://etherx.jabber.org/streams' version='1.0' from='[email protected]' xml:lang='en'> 04-15 12:09:23.189 2685-3209/com.example.itstym.kotlinchat D/SMACK: RECV (1): <?xml version='1.0'?><stream:stream id='3002662766383892485' version='1.0' xml:lang='en' xmlns:stream='http://etherx.jabber.org/streams' to='[email protected]' from='replica3377.cloudapp.net' xmlns='jabber:client'> 04-15 12:09:23.190 2685-3209/com.example.itstym.kotlinchat D/SMACK: RECV (1): <stream:features><mechanisms xmlns='urn:ietf:params:xml:ns:xmpp-sasl'><mechanism>PLAIN</mechanism><mechanism>DIGEST-MD5</mechanism><mechanism>X-OAUTH2</mechanism><mechanism>SCRAM-SHA-1</mechanism></mechanisms></stream:features> 04-15 12:09:28.846 2685-2754/com.example.itstym.kotlinchat D/SMACK: RECV (0): <stream:error><connection-timeout xmlns='urn:ietf:params:xml:ns:xmpp-streams'/></stream:error></stream:stream>
через 30 секунд или около того я получаю еще одну ошибку
04-15 12:09:28.853 2685-2754/com.example.itstym.kotlinchat W/AbstractXMPPConnection: Connection XMPPTCPConnection[not-authenticated] (0) closed with error org.jivesoftware.smack.XMPPException$StreamErrorException: connection-timeout You can read more about the meaning of this stream error at http://xmpp.org/rfcs/rfc6120.html#streams-error-conditions <stream:error><connection-timeout xmlns='urn:ietf:params:xml:ns:xmpp-streams'/></stream:error> at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.parsePackets(XMPPTCPConnection.java:1046) at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.access$300(XMPPTCPConnection.java:980) at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader$1.run(XMPPTCPConnection.java:996) at java.lang.Thread.run(Thread.java:818)
Но когда я проверяю сервер ejabbard, сеанс запускается для пользователя. Также, используя converse.js, я могу проверить, что пользователь вошел в систему.
Я думаю, что я не получаю ответ от привкуса.
- Проблема с привязкой данных с помощью Kotlin для Android
- Android: выполнение Kotlin завершилось неудачно, пытаясь использовать Databinding
- Как использовать ломбок с Kapt3
- Как решить: «Не удается найти getter для атрибута« android: text »при реализации двусторонней привязки данных к пользовательскому представлению?
- Связать размер ObservableList в привязке к Android
- Kotlin - Коллекция карт сортировки
- как реализовать Switch, используя привязку данных в android
- Ошибка android-kotlin: неразрешенные ссылки привязки данных и ActivityMainBinding
Глядя на документацию SMACK о создании соединения, вам не хватает вызова connection.login()
поэтому он истекает через 5 секунд. (См. Дельта между последними 2 сообщениями RECV)
Документация: https://download.igniterealtime.org/smack/docs/latest/documentation/connections.html