gpt4 book ai didi

ios - 关闭 NSOutputstream & NSInputstream

转载 作者:行者123 更新时间:2023-11-29 02:11:08 24 4
gpt4 key购买 nike

我正在尝试打断

[NSOutputstream write] 

当连接丢失时。

但是,即使我使用

关闭流,它似乎仍然继续阻塞
[NSOutputstream close].

我想要实现的只是在服务器连接丢失时重新连接。

我尝试在发送调用之前安排一个 NSTimer - 如果发送调用未能在间隔内完成(大约 5 秒),它的作用是关闭流,但关闭操作根本不会影响流。它继续阻塞。叹息。

如何实现断线时自动重连服务器?

最佳答案

对流做的最好的事情是使用 scheduleInRunLoop:forMode 在线程运行循环上注册它们并处理引发的委托(delegate)事件,告诉您何时有写入能力、何时有数据可读取以及何时有错误。

通过这种方式,您可以高效地与网络堆栈进行交互,并且当您通过委托(delegate)事件检测到错误时,您可以重新连接并将新流添加到运行循环中。

注意:调用 close 将从运行循环中删除流。

关于ios - 关闭 NSOutputstream & NSInputstream,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29277267/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com