Я пишу приложение iPhone с веб-сервером. Чтобы обрабатывать веб-запрос, я беру веб-запрос и пишу() ему данные, которые я хочу отправить обратно.write() вызывает фатальный сбой, когда filedescriptor становится недействительным
Когда я пытаюсь загрузить файл умеренного размера (3-6 МБ), он отлично работает, но если я отменил загрузку на полпути, приложение выйдет из строя и не оставляет следов ошибки. Я думаю, что дескриптор файла становится недопустимым на полпути через запись и вызывает сбой. Я действительно не знаю, является ли это причиной аварии, я просто предполагаю.
Я основываю свой веб-сервер на this.
NSString *header = @"";
NSData *data = [NSData dataWithContentsOfFile:fullPath];
write (fd, [header UTF8String], [header length]);
write(fd, [data bytes], [data length]);
close(fd);
Кто-нибудь знает, как это исправить? Я думал о том, чтобы разбить данные, а затем написать каждую часть, но я не думаю, что это поможет.
Какой код вы используете, чтобы остановить скачивание? Вы пытались запустить приложение в отладчике, чтобы поймать сбой? – codewarrior
Зачем предполагать что-нибудь? У вас есть инструменты, которые помогут вам определить краш-точку. По крайней мере, вы должны иметь обратную линию. Запустите приложение в отладчике и посмотрите, где он сбой. – bbum