objective-c - 在 GNUstep 中进行 IP 网络的标准方法是什么?

标签 objective-c linux sockets gnustep

我查看了似乎相关的类,但不清楚是否有一个等同于用于 TCP/UDP 套接字的 Pipe 的类。 Socket 类描述似乎不只是执行创建和绑定(bind)端口以及设置监听所需的操作。目前,我已经在直接的 unix 网络原语中实现了它……但如果我的 Socket 真的是与 Pipe 相同的 API,那就太好了。

其他人如何处理这个问题?我对 Socket 的作用有误吗?

在这种情况下,我不想要复杂性,只想要标准 IP 网络的标准 OO 覆盖。

最佳答案

我有一段时间没有使用 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];

关于objective-c - 在 GNUstep 中进行 IP 网络的标准方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21944701/

相关文章:

ios - Rich Push Notification 和 Simple Push Notification 有什么区别?

iphone - iPhone中的 subview 动画

linux - 安装 OMNeT++ 的问题

linux - 使用 ncftp 从远程 ftp 删除超过 7 天的备份

c - 服务器未向客户端返回最后一条响应消息

ios - 在 View Controller 之间传递数据

ios - 在 UIView 中绘制圆形透明 View

python 3 time.sleep() "serial read"

node.js - socket.io服务器可以与非socket.io客户端通信吗

基于套接字的 PHP-Flash 通信