Соединение Quickblox Chat обрывается при чате в Android

Я работаю над приложением для Android, которое включает Quickblox. Постоянно получаю сообщение "Соединение с чатом прервано". Прочитав logcat, вот что я получаю:

Я не могу найти решение для того же.

Сокет — это то, что вы используете для связи по сети (например, для подключения к серверу в Интернете). Сообщение об ошибке означает, что программа пыталась получить данные с удаленного компьютера по сети, но данные не были получены в течение определенного периода времени, поэтому программа перестала ждать получения данных.


person Simranjeet Singh    schedule 08.12.2016    source источник


Ответы (1)


Вот фрагмент кода, который может решить эту проблему, увеличив время ожидания сокета, так как по умолчанию SocketTimeOut в Quickblox составляет 30 секунд.

12-08 11:15:31.214 13894-14722/com.quickblox.sample W/AbstractXMPPConnection: соединение закрыто с ошибкой java.net.SocketTimeoutException: истекло время чтения на com.android.org.conscrypt.NativeCrypto.SSL_read (собственный метод) на com.android.org.conscrypt.OpenSSLSocketImpl$SSLInputStream.read(OpenSSLSocketImpl.java:705) на java.io.InputStreamReader.read(InputStreamReader.java:233) на java.io.BufferedReader.read(BufferedReader.java:325 ) в org.jivesoftware.smack.util.ObservableReader.read(SourceFile:41 ) в org.kxml2.io.KXmlParser.fillBuffer(KXmlParser.java:1515) в org.kxml2.io.KXmlParser.peekType(KXmlParser.java:992) в org.kxml2.io.KXmlParser.next(KXmlParser.java: 349) в org.kxml2.io.KXmlParser.next(KXmlParser.java:313) в org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.parsePackets(SourceFile:1240) в org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader .access$300(SourceFile:1014) в org. jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader$1.run(SourceFile:1029) на java.lang.Thread.run(Thread.java:818) 12-08 11:15:31.216 13894-14722/com.quickblox.sample D /SMACK: XMPPConnection закрыт из-за исключения (0) 12–08 11:15:31.216 13894–14722/com.quickblox.sample W/System.err: java.net.SocketTimeoutException: превышено время ожидания чтения 12–08 11:15 :31.216 13894-14722/com.quickblox.sample W/System.err: на com.android.org.conscrypt. NativeCrypto.SSL_read(собственный метод) 12-08 11:15:31.216 13894-14722/com.quickblox.sample W/System.err: на com.android.org.conscrypt.OpenSSLSocketImpl$SSLInputStream.read(OpenSSLSocketImpl.java:705 ) 12-08 11:15:31.216 13894-14722/com.quickblox.sample W/System.err: в java.io.InputStreamReader.read(InputStreamReader.java:233) 12-08 11:15:31.216 13894-14722 /com.quickblox.sample W/System.err: в java.io.BufferedReader.read(BufferedReader.java:325) 12-08 11:15:31.216 13894-14722/com.quickblox.sample W/System.err: в org.jivesoftware.smack.util.ObservableReader.read(SourceFile:41) 12-08 11:15:31.216 13894-14722/com.quickblox.sample W/System.err: в org.kxml2.io.KXmlParser.fillBuffer (KXmlParser.java:1515) 12-08 11:15:31.216 13894-14722/com.quickblox.sample W/System.err: в org.kxml2.io.KXmlParser.peekType(KXmlParser.java:992) 12-08 11:15:31.216 13894-14722/com.quickblox.sample W/System.err: в org.kxml2.io.KXmlParser.next(KXmlParser.java:349) 12-08 11:15:31.216 13894-14722/com.quickblox.sample W/System.err: в org.kxml2.io.KXmlParser.next(KXmlParser.java:313) 12-08 11:15:31.216 13894-14722/com .quickblox.sample W/System.err: at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.parsePackets(SourceFile:1240) 12-08 11:15:31.216 13894-14722/com.quickblox.sample W/System. ошибка: на org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.access$300(SourceFile:1014) 12-08 11:15:31.217 13894-14722/com.quickblox.sample W/System.err: на org.jivesoftware. smack.tcp.XMPPTCPConnection$PacketReader$1.run(SourceFile:1029) 12-08 11:15:31.217 13894-13894/com.quickblox.sample I/VerboseQbChatConnectionListener: connectionClosedOnError(): Истекло время чтения 12-08 11:15: 31.217 13894-14722/com.quickblox.sample W/System.err: в java.lang.Thread.run(Thread.java:818)

QBChatService.ConfigurationBuilder chatServiceConfigurationBuilder = new QBChatService.ConfigurationBuilder();
chatServiceConfigurationBuilder.setSocketTimeout(180); //Sets chat socket's read timeout in seconds
chatServiceConfigurationBuilder.setKeepAlive(true); //Sets connection socket's keepAlive option.
QBChatService.setConfigurationBuilder(chatServiceConfigurationBuilder);
person Amit kaushal    schedule 09.12.2016