我的应用程序需要定期将一小段数据写入一组TCP连接,每个连接都由NSFileHandle封装。 NSFileHandle提供异步读取,但是对于写入,我认为我必须使用writeData(遗憾的是我的Objective-C实现,GNUStep,没有writeabilityHandler属性)。
我的问题是:如果TCP文件描述符没有准备好写入,writeData会抛出异常,还是会无限期阻塞?我一直试图对此进行测试,但很难让连接的另一端处于正常状态。对我来说理想的事情是如果writeData会抛出异常,所以我可以稍后再尝试写。