Iphone CFWriteStreamWrite/CFReadStreamWriter是否容易超时?
使用Iphone CFWriteStreamWrite/CFReadStreamWriter是否容易超时?,iphone,objective-c,ios,sockets,network-programming,Iphone,Objective C,Ios,Sockets,Network Programming,使用CFStreamCreatePairWithSocketToHost总是很方便的: CFStreamCreatePairWithSocketToHost(kCFAllocatorDefault, (CFStringRef) hostnameOrIp, aPort, &readStream, &writeStream); 当它马上把货物(r和w管道)送到你手上时。不幸的是,CFReadStreamRead和CFW
CFStreamCreatePairWithSocketToHost
总是很方便的:
CFStreamCreatePairWithSocketToHost(kCFAllocatorDefault,
(CFStringRef) hostnameOrIp,
aPort,
&readStream,
&writeStream);
当它马上把货物(r和w管道)送到你手上时。不幸的是,CFReadStreamRead
和CFWriteStreamRead
块。是否有一种干净的方法来设置超时(例如,使用streamOption)?它们在一个线程中运行——并且有相当多的线程并行运行——希望避免运行循环/信号——因为任何其他挂起的读/写操作都不应该被中断)
谢谢
Dw.您可以使用
CFReadStreamHasBytesAvailable
检查是否有可用的内容。如果是,CFReadStreamRead
将不会阻止。或者,您可以设置客户端(CFReadStreamSetClient
)并侦听通知(kCFStreamEventHasBytesAvailable
)