![](/img/trans.png)
[英]Can I use NSStream, NSInputStream, and NSOutputStream to send and receive data from a C# application?
[英]how to pipe data from NSOutputStream to NSInputStream in objective-c
我有两个我想要集成的库,让它们相互通信。 他们每个人都听自己的输入和输出流。 库1将是库2的传输层。
情况1:库1接收其输入流上的数据我想在另一个虚拟输出流上写入数据,该输出流将通过管道传输到库2上的输入流。
案例2:库2想要发送一些数据,因此它会将数据写入其输出流。 这应该通过管道传输到虚拟输入流,数据将被读取并写入库1的输出流。
如何在objective-c中为这些NSStream创建管道?
提前感谢您的意见。
以下是创建简单管道的方法:
CFReadStreamRef readStream = NULL;
CFWriteStreamRef writeStream = NULL;
CFStreamCreateBoundPair(NULL, &readStream, &writeStream, 4096);
NSInputStream *inputStream = (__bridge_transfer NSInputStream *)readStream;
NSOutputStream *outputStream = (__bridge_transfer NSOutputStream *)writeStream;
您写入outputStream的内容将从inputStream中读取。
Swift版本的Gabriele Mondada的答案
var readStream:Unmanaged<CFReadStream>?
var writeStream:Unmanaged<CFWriteStream>?
CFStreamCreateBoundPair(nil, &readStream, &writeStream, 4096)
let inputStream:NSInputStream = readStream!.takeRetainedValue()
let outputStream:NSOutputStream = writeStream!.takeRetainedValue()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.