Я создал приложение Simple Chat на основе сокета.
Пост: Приложение для iPhone на базе сокетов помогло мне создать это.
Теперь я хочу отправлять / получать файлы через сокет.
Пожалуйста, дайте мне указания относительно того, как я могу достичь этого.
Ура,
Roshit
EDIT:
Код, используемый для подключения к сокету:
NSString *aHostName = @"xx.xx.xx.xx";
NSInteger aPort = 1234;
CFReadStreamRef readStream;
CFWriteStreamRef writeStream;
CFStreamCreatePairWithSocketToHost(NULL, (CFStringRef)aHostName, aPort, &readStream, &writeStream);
self.inputStream = (NSInputStream *)readStream;
self.outputStream = (NSOutputStream *)writeStream;
[self.inputStream setDelegate:self];
[self.outputStream setDelegate:self];
[self.inputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
[self.outputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
[self.inputStream open];
[self.outputStream open];
Код, используемый для отправки данных:
NSData *aData = [[NSData alloc] initWithData:[iRequestAPI dataUsingEncoding:NSASCIIStringEncoding]];
[self.outputStream write:[aData bytes] maxLength:[aData length]];
[aData release];
где iRequestAPI - строка, которая должна быть отправлена.
Теперь, когда я пытаюсь отправить файл через сокет, учитывая тот факт, что я конвертирую Файл в NSData и использую [self.outputStream write:[aData bytes] maxLength:[aData length]];
, может быть вероятность того, что весь файл не будет отправлен из-за пропускной способности соединения.
Если весь файл не отправлен, как убедиться, что остальная часть отправлена.
Это правильный подход для отправки файла через сокет.
Пожалуйста, предложите ..