我有几个 NSStreams(进出 TLS)到服务器,我可以通过它们发送和接收数据就好了,但是在没有任何流量的情况下过了一段时间,可能 5 分钟后,连接似乎自行关闭,但我的代表确实没有用 NSStreamEventEndOccurred 调用,我只在尝试发送内容后得到 NSStreamEventErrorOccurred。
首先,连接不应该自行关闭,因为
-app 仍然处于活动状态
-设备未锁定
-它正在使用的wifi不会断开连接
- 远程服务器具有较长的 tcp 生命周期和 SO_KEEPALIVE 标志处于活动状态,iPhone 端在其本机套接字句柄上也处于活动状态。
尽管如此,我更关心为什么我的代表没有被调用而不是我的连接被关闭。
有任何想法吗?
谢谢