1
我正在写一个带有web服务器的iPhone应用程序。为了处理一个Web请求,我接收了Web请求并将它写入()给我,以便将我想要发回的数据写入它。当filedescriptor变为无效时,write()会导致致命的崩溃
当我尝试下载一个中等大小的文件(3-6MB)它工作正常,但如果我取消下载到一半,应用程序崩溃,不留一个错误的轨迹。我在考虑文件描述符在写入中途变得无效,并导致崩溃。我真的不知道这是导致坠机的原因,我只是假设。
我立足我的web服务器关闭this例子。
NSString *header = @"";
NSData *data = [NSData dataWithContentsOfFile:fullPath];
write (fd, [header UTF8String], [header length]);
write(fd, [data bytes], [data length]);
close(fd);
有谁知道如何解决这个问题?我正在考虑分块数据,然后写每个部分,但我认为这不会有帮助。
你用什么代码来停止下载?您是否尝试在调试器中运行应用程序来捕捉崩溃? – codewarrior 2010-04-01 02:05:14
为什么假设任何事情?你有工具来帮助你识别崩溃点。至少应该有一次回溯。在调试器中运行您的应用程序,并查看它崩溃的位置。 – bbum 2010-04-01 03:27:29