我查看过似乎相关的类,但不清楚是否有一个类似于Pipe的类用于TCP / UDP套接字。 Socket类描述似乎不仅仅是你需要创建和绑定端口并设置监听。目前我已经在直接unix网络原语中实现了这一点......但是如果我的Socket与Pipe真的是同一个API那就太好了。
其他人如何处理这件事?我错了Socket的作用吗?
在这种情况下,我不需要复杂性,只是标准IP网络的标准OO封面。
答案 0 :(得分:1)
我有一段时间没有使用过GNUstep,所以这是基于Apple的库,你需要确保没有差异。
可以使用NSStream上的类方法创建TCP连接,该方法返回输入流和输出流以进行通信。
NSHost *host = ...;
NSUInteger port = ...;
NSInputStream *input;
NSOutputStream *output;
[NSStream getStreamsToHost:host port:port inputStream:&input
outputStream:&output];
对于其他连接,您可以使用标准Unix API创建连接,然后创建NSFileHandle以包装文件描述符。
int fd = socket(...);
NSFileHandle *fileHandle = [[NSFileHandle alloc] initWithFileDescriptor:fd
closeOnDealloc:YES];