4

我将 Firestore 用于我的 Flutter 应用程序。

当我在模拟器上禁用 Internet 连接时,控制台上会出现此错误:

V/NativeCrypto( 6278): Read error: ssl=0xa4621708: I/O error during system call, Software caused connection abort
W/zzaeo   ( 6278): [{0}] Failed to resolve name. status={1}
V/NativeCrypto( 6278): Write error: ssl=0xa4621708: I/O error during system call, Broken pipe
V/NativeCrypto( 6278): Write error: ssl=0xa4621708: I/O error during system call, Broken pipe
W/zzajf   ( 6278): Failed closing connection
W/zzajf   ( 6278): javax.net.ssl.SSLException: Write error: ssl=0xa4621708: I/O error during system call, Broken pipe
W/zzajf   ( 6278):  at com.google.android.gms.org.conscrypt.NativeCrypto.SSL_write(Native Method)
W/zzajf   ( 6278):  at com.google.android.gms.org.conscrypt.SslWrapper.write(:com.google.android.gms@12529024@12.5.29 (040700-192802242):2)
W/zzajf   ( 6278):  at com.google.android.gms.org.conscrypt.ConscryptFileDescriptorSocket$SSLOutputStream.write(:com.google.android.gms@12529024@12.5.29 (040700-192802242):6)
W/zzajf   ( 6278):  at com.google.android.gms.internal.firebase-firestore.zzapc.write(Unknown Source:36)
W/zzajf   ( 6278):  at com.google.android.gms.internal.firebase-firestore.zzaot.write(Unknown Source:46)
W/zzajf   ( 6278):  at com.google.android.gms.internal.firebase-firestore.zzapf.close(Unknown Source:24)
W/zzajf   ( 6278):  at com.google.android.gms.internal.firebase-firestore.zzaku.close(Unknown Source:6)
W/zzajf   ( 6278):  at com.google.android.gms.internal.firebase-firestore.zzaim.run(Unknown Source:14)
W/zzajf   ( 6278):  at com.google.android.gms.internal.firebase-firestore.zzahi.run(Unknown Source:13)
W/zzajf   ( 6278):  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
W/zzajf   ( 6278):  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
W/zzajf   ( 6278):  at java.lang.Thread.run(Thread.java:764)
W/zzaeo   ( 6278): [{0}] Failed to resolve name. status={1}
W/zzaeo   ( 6278): [{0}] Failed to resolve name. status={1}
W/zzaeo   ( 6278): [{0}] Failed to resolve name. status={1}

但是,该应用程序在断开连接后仍照常运行。我读到过类似的错误,人们说这是一种正常行为,只有在需要重试建立连接时才应处理该错误。

这是正常行为吗?或者如果不是,我应该如何处理?

4

1 回答 1

0

您可以在调用 Firestore 的函数之前执行网络检查以避免此异常。要检查网络连接,我建议您使用Connectivity包。它使用起来非常简单,适用于 Android 和 iOS。

于 2018-08-03T04:35:22.913 回答