所以我使用 Apple 的 PictureSharing/PictureSharingBrowser 示例来发送和接收数据。这使用服务器端的 NSFileHandle 使用 NSFileHandle 的 writeData 方法发送图片。
NSFileHandle * incomingConnection = [[aNotification userInfo] objectForKey:NSFileHandleNotificationFileHandleItem];
[[aNotification object] acceptConnectionInBackgroundAndNotify];
[incomingConnection writeData:dataToWrite];
[incomingConnection closeFile];
在我想发送大量数据(在本例中为 1MB 的数据)之前,这似乎工作正常。当我尝试这样做时,应用程序在执行 writeData 方法时挂起。客户端甚至没有开始读取数据,它只是打开了连接,但什么也没有发生。(它应该逐块读取数据,而服务器一次发送所有数据)。
我猜某处发生了一些僵局,但我不确定在哪里。我试图寻找异步。用 NSFileHandle 逐个写入数据的方法,但我找不到这样的方法。
任何指导都会有所帮助!