【问题标题】:iOS ECONNRESET with incomplete TLS handshake - generating errSSLClosedNoNotify带有不完整 TLS 握手的 iOS ECONNRESET - 生成 errSSLClosedNoNotify
【发布时间】:2020-08-04 11:47:31
【问题描述】:

当我们尝试使用蜂窝网络 (4G) 从在 iOS 13 上运行的 iOS 应用程序访问一个 API 时,它会显示间歇性错误:

[] -[NWConcrete_nw_address_endpoint initWithAddress:overridePort:] Fixing endpoint address with non-zero sin_zero field
[] tcp_input [C4.1:3] flags=[R.] seq=4011135460, ack=1357945681, win=0 state=ESTABLISHED rcv_nxt=4011135460, snd_una=1357945681
Connection 4: received failure notification
Connection 4: received ECONNRESET with incomplete TLS handshake - generating errSSLClosedNoNotify
Connection 4: failed to connect 3:-9816, reason -1
Connection 4: encountered error(3:-9816)
Task <50BECA08-D337-4DA7-A57C-D04AAAE2367C>.<0> HTTP load failed, 0/0 bytes (error code: -1200 [3:-9816])
NSURLConnection finished with error - code -1200

但是,在连接到 wifi 时,在同一部 iPhone、同一应用程序上永远不会发生上述错误。

有趣的是,当我们使用同一部手机连接到同一个 wifi,但使用 safari 访问同一个 API 时,没有问题。

知道为什么吗?

【问题讨论】:

  • 你知道为什么会这样吗?我想我也有同样的问题。

标签: ios ssl tls1.2


【解决方案1】:

我创建了一个包来帮助处理 TLS Sockets/iOS/Obj-C。鉴于最新的 iOS 13 限制,我还提供了很多关于正确创建证书的好信息。

https://github.com/eamonwhiter73/IOSObjCWebSockets/tree/master

【讨论】:

  • 那很好。但是,他明确表示间歇性错误,并且可以在 WiFi 上运行。
【解决方案2】:

重启或转到Settings -> General -> Reset -> Reset All Settings 在 iOS 14.4 和 iPhone 8 上为我解决了这个问题

【讨论】:

    猜你喜欢
    • 2021-01-02
    • 1970-01-01
    • 1970-01-01
    • 2015-12-21
    • 2011-06-24
    • 2019-02-28
    • 1970-01-01
    • 2012-06-11
    • 2016-03-21
    相关资源
    最近更新 更多