Как подключиться к общедоступному ip с помощью CFStream в iOS

Я новичок в iOS и Objective C

Я использую следующий код для подключения к серверу... Когда я подключаюсь локально, используя IP-адрес 192.168.10.246, код работает нормально, и он подключается, но когда я пытаюсь использовать общедоступный IP-адрес, представление просто зависает и не подключается к серверу....

Я использую руководство, приведенное здесь Рэй Вендерлих

И мой код:

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];
}

person Audi    schedule 29.06.2013    source источник
comment
Не вопрос Xcode.   -  person    schedule 29.06.2013
comment
Извините, забыл добавить Xcode в теги.   -  person Audi    schedule 29.06.2013
comment
Это именно то, чего вы не должны делать. Я только что удалил его. Этот вопрос не связан с Xcode.   -  person    schedule 29.06.2013
comment
О, хорошо .... я использую xcode, поэтому пометил его в Xcode ... но вы можете помочь мне с решением ???   -  person Audi    schedule 29.06.2013
comment
Возможно, проблема с брандмауэром?   -  person Martin R    schedule 29.06.2013


Ответы (1)


Не уверен на 100%, но я почти уверен, что CFStream не может подключиться к Интернету. Вам нужен NSStream.

person Alex Bedro    schedule 06.06.2016