簡體   English   中英

GCM連接重置

[英]Smack GCM connection reset

我們使用smack庫來建立與GCM的XMPP連接。 我已經在應用程序上建立了很多連接,並且已經實現了Smack庫的ConnectionListener類。 因此,我們使用以下方法。

@Override
public void connectionClosedOnError(Exception e) {
    logger.error(e, "connectionListener::connectionClosedOnError::appKey::{}::clientId::{}", appKey, clientId);
}

該實現已經工作了很長時間。 但是最近兩天,我們收到了這樣的錯誤;

05:16:50,846 ERROR [CcsClient   ] - 
connectionListener::connectionClosedOnError
::appKey::xxx::clientId::xxxx
java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:196)
at java.net.SocketInputStream.read(SocketInputStream.java:122)
at sun.security.ssl.InputRecord.readFully(InputRecord.java:442)
at sun.security.ssl.InputRecord.read(InputRecord.java:480)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:934)
at sun.security.ssl.SSLSocketImpl.
readDataRecord(SSLSocketImpl.java:891)
at sun.security.ssl.AppInputStream.read(AppInputStream.java:102)
at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:283)
at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:325)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:177)
at java.io.InputStreamReader.read(InputStreamReader.java:184)
at java.io.BufferedReader.fill(BufferedReader.java:154)
at java.io.BufferedReader.read1(BufferedReader.java:205)
at java.io.BufferedReader.read(BufferedReader.java:279)
at org.xmlpull.mxp1.MXParser.fillBuf(MXParser.java:2992)
at org.xmlpull.mxp1.MXParser.more(MXParser.java:3046)
at org.xmlpull.mxp1.MXParser.nextImpl(MXParser.java:1144)
at org.xmlpull.mxp1.MXParser.next(MXParser.java:1093)
at org.jivesoftware.smack.PacketReader.
parsePackets(PacketReader.java:312)
at org.jivesoftware.smack.PacketReader.access$000(PacketReader.java:48)
at org.jivesoftware.smack.PacketReader$1.run(PacketReader.java:76)

這是什么原因呢?

我找到了問題的根源。 我們正在打開許多與GCM的套接字​​連接,以發出通知。 根據我們的服務提供商設置的規則,我們的套接字連接將在10分鍾后關閉。 但是服務提供商的關閉方法會導致錯誤。

然后,smack調用connectionListener :: connectionClosedOnError方法並嘗試重新連接到GCM。 但是當服務負載很重時,它是如此昂貴。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM