[英]How to convert CFReadStreamRef to NSInputStream?
- (void)connection:(NSString*)serviceName forIpAddress:(NSString *)ipAddress
forPort:(NSString *)portNo
{
if(inputStream && outputStream)
//[self close];
NSString *urlString = [NSString stringWithFormat:@"http://%@",ipAddress];
NSURL *website = [NSURL URLWithString:urlString];
if (!website) {
NSLog(@"%@ is not a valid URL", website);
}
CFReadStreamRef readStream;
CFWriteStreamRef writeStream;
CFStreamCreatePairWithSocketToHost(NULL, (CFStringRef)[website host], [portNo
intValue], &readStream, &writeStream);
CFReadStreamSetProperty(readStream, kCFStreamPropertyShouldCloseNativeSocket,
kCFBooleanTrue);
CFWriteStreamSetProperty(writeStream, kCFStreamPropertyShouldCloseNativeSocket,
kCFBooleanTrue);
inputStream = (NSInputStream *)readStream;
outputStream = (NSOutputStream *)writeStream;
[self open];
} }
Getting ARC errors at NNString, NSInputStream,NSoutputStream. 在NNString,NSInputStream,NSoutputStream上获取ARC错误。 Error says..Cast of c pointer type CFreadStreamRef to c pointer type NSinput stream needs bridging cast.
错误说..将c指针类型CFreadStreamRef转换为c指针类型NSinput流需要桥接强制转换。
NSInputStream *inputStream = (__bridge_transfer NSInputStream *)readStream;
NSOutputStream *outputStream = (__bridge_transfer NSOutputStream *)writeStream;
See Setting Up Socket Streams programming guide. 请参阅设置套接字流编程指南。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.