我使用 NSFileHandle 创建了一个服务器,它工作得很好,问题是如何结束它。 (关闭它)我无法解除分配它,因为我正在使用 ARC 并且我真的必须找到一种方法来结束它。这是我启动服务器的方法:
socketPort = [[NSSocketPort alloc] initWithTCPPort:portNumber];
int fd = [socketPort socket];
fileHandle = [[NSFileHandle alloc] initWithFileDescriptor:fd
closeOnDealloc:YES];
谢谢!
最佳答案
[fileHandle closeFile];
fileHandle = nil; // ARC equiv of release
(我想 [NSFileHandle dealloc]
方法无论如何都会调用 closeFile
,但直接调用它更能表明您的意图,并且更具防御性)。
如果您想阻止 socketPort
监听,那么这可能会起作用:
socketPort = nil;
警告: According to Apple您不应该将 NSSocketPort
和 NSFileHandler
用于一般网络。
关于objective-c - 结束/停止 NSFileHandle 套接字服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18527839/