Как подключиться к публичному ip с помощью CFStream в iOS
Я новичок в iOS и цель C
Я использую следующий код для подключения к серверу... Когда я подключаюсь локально с использованием IP 192.168.10.246, код работает нормально, и он подключается, но когда я пытаюсь использовать общедоступный IP вместо этого, представление просто зависает и не подключается к серверу....
Я использую учебник, данный здесь Ray Wenderlich
И мой код:
NSString *pinno = @"test1234";
NSString *ip = @"publicip";
CFReadStreamRef readStream;
CFWriteStreamRef writeStream;
CFStreamCreatePairWithSocketToHost(NULL, (CFStringRef)ip, 1234, &readStream, &writeStream);
inputStream = (NSInputStream *)readStream;
outputStream = (NSOutputStream *)writeStream;
[inputStream setDelegate:self];
[outputStream setDelegate:self];
[inputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
[outputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
[inputStream open];
[outputStream open];
NSData *data = [[NSData alloc] initWithData:[pinno dataUsingEncoding:NSASCIIStringEncoding]];
[outputStream write:[data bytes] maxLength:[data length]];
[outputStream close];
}
1 ответ
Решение
Не уверен на 100%, но я почти уверен, что CFStream не может подключиться к Интернету. Вам нужен NSStream.