前面写过一个通过socketpair创建一个关联的双工的问看标识符,可以方便的进行数据的交互。
也可以通过pipe创建一个单工地socket
int res = pipe(socketFd);
//0读 1写
if (res < 0)
{
NSLog(@"create socket pair error:%d", res);
}
fdOne = socketFd[1];
fdTwo = socketFd[0];
这样两种方式都是通过调用C函数实现的,OC有一个NSPipe的可以创建类似的单工的。
NSPipe *pipe = [[NSPipe alloc] init];
NSFileHandle *write = pipe.fileHandleForWriting;
NSFileHandle *read = pipe.fileHandleForReading;
int writeFd = write.fileDescriptor;
int readFd = read.fileDescriptor;