我是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];
}
不是100%确定,但我几乎肯定CFStream无法连接到互联网。你需要一个NSStream。