一.登錄時Too many (20) failed authentications異常
1.1 異常log
smack.XMPPException$StreamErrorException:policy-violation You can read more about the meaning of this stream error at http://xmpp.org/rfcs/rfc6120.html#streams-error-conditions
<stream:error><policy-violation xmlns='urn:ietf:params:xml:ns:xmpp-streams'/><text xml:lang='en'>Too many (20) failed authentications from this IP address (::ffff:113.88.132.28).The address will be unblocked at at 01:40:03 25.03.2020 UTC
1.2解決辦法
IP被服務端加入黑名單了,需要服務端清理
二.Ping時javax.net.ssl.SSLException: Read error異常
2.1 異常log
D/SMACK: SENT (0): <iq to='im.demo.aiframe.net' id='UbyV1-113' type='get'><ping xmlns='urn:xmpp:ping'/></iq>
W/AbstractXMPPConnection: Connection XMPPTCPConnection[[email protected]/frame] (0) closed with error
javax.net.ssl.SSLException: Read error: ssl=0x58c132b0: I/O error during system call, Connection reset by peer
at com.android.org.conscrypt.NativeCrypto.SSL_read(Native Method)
at com.android.org.conscrypt.OpenSSLSocketImpl$SSLInputStream.read(OpenSSLSocketImpl.java:689)
at java.io.InputStreamReader.read(InputStreamReader.java:233)
at java.io.BufferedReader.read(BufferedReader.java:325)
at org.jivesoftware.smack.util.ObservableReader.read(ObservableReader.java:42)
at org.kxml2.io.KXmlParser.fillBuffer(KXmlParser.java:1506)
at org.kxml2.io.KXmlParser.peekType(KXmlParser.java:986)
at org.kxml2.io.KXmlParser.next(KXmlParser.java:346)
at org.kxml2.io.KXmlParser.next(KXmlParser.java:310)
at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.parsePackets(XMPPTCPConnection.java:1352)
at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.access$1000(XMPPTCPConnection.java:1092)
at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader$1.run(XMPPTCPConnection.java:1112)
at java.lang.Thread.run(Thread.java:841)
W/PingManager: Exception while pinging server of XMPPTCPConnection[[email protected]/frame] (0)
java.lang.InterruptedException
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.reportInterruptAfterWait(AbstractQueuedSynchronizer.java:1992)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2066)
at java.util.concurrent.ArrayBlockingQueue.poll(ArrayBlockingQueue.java:388)
at org.jivesoftware.smack.StanzaCollector.nextResult(StanzaCollector.java:195)
at org.jivesoftware.smack.StanzaCollector.nextResultOrThrow(StanzaCollector.java:259)
at org.jivesoftware.smackx.ping.PingManager.ping(PingManager.java:240)
at org.jivesoftware.smackx.ping.PingManager.pingMyServer(PingManager.java:323)
at org.jivesoftware.smackx.ping.PingManager.pingMyServer(PingManager.java:304)
at org.jivesoftware.smackx.ping.PingManager.pingServerIfNecessary(PingManager.java:447)
at org.jivesoftware.smackx.ping.PingManager$7.run(PingManager.java:478)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:152)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:265)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:841)
D/SMACK: XMPPConnection closed due to an exception (XMPPTCPConnection[[email protected]/frame] (0))
javax.net.ssl.SSLException: Read error: ssl=0x58c132b0: I/O error during system call, Connection reset by peer
at com.android.org.conscrypt.NativeCrypto.SSL_read(Native Method)
at com.android.org.conscrypt.OpenSSLSocketImpl$SSLInputStream.read(OpenSSLSocketImpl.java:689)
at java.io.InputStreamReader.read(InputStreamReader.java:233)
at java.io.BufferedReader.read(BufferedReader.java:325)
at org.jivesoftware.smack.util.ObservableReader.read(ObservableReader.java:42)
at org.kxml2.io.KXmlParser.fillBuffer(KXmlParser.java:1506)
at org.kxml2.io.KXmlParser.peekType(KXmlParser.java:986)
at org.kxml2.io.KXmlParser.next(KXmlParser.java:346)
at org.kxml2.io.KXmlParser.next(KXmlParser.java:310)
at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.parsePackets(XMPPTCPConnection.java:1352)
at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.access$1000(XMPPTCPConnection.java:1092)
at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader$1.run(XMPPTCPConnection.java:1112)
at java.lang.Thread.run(Thread.java:841)
2.1 解決辦法
等待補充.....
三、登錄時賬號密碼正確,依然提示無效的用戶名或密碼
原因爲服務端賬號密碼認證部分有緩存導致。