Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone CFWriteStreamWrite/CFReadStreamWriter是否容易超时?_Iphone_Objective C_Ios_Sockets_Network Programming - Fatal编程技术网

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