繁体   English   中英

结束/停止NSFileHandle套接字服务器

[英]End/Stop a NSFileHandle socket server

我使用NSFileHandle创建了一个服务器,它工作得很好,问题是如何结束它。 (关闭它)我无法取消分配它,因为我正在使用ARC,我确实必须找到一种方法来结束它。 这是我启动服务器的方式:

socketPort = [[NSSocketPort alloc] initWithTCPPort:portNumber];
    int fd = [socketPort socket];
    fileHandle = [[NSFileHandle alloc] initWithFileDescriptor:fd
                                    closeOnDealloc:YES];

谢谢!

[NSFileHandle closeFile]

[fileHandle closeFile];
fileHandle = nil;    // ARC equiv of release

(我想[NSFileHandle dealloc]方法仍然会调用closeFile ,但是直接调用它对您的意图更明显,而且更具防御性)。

如果您想停止socketPort的监听,那么可能会起作用:

socketPort = nil;

警告: 根据Apple的说法,您不应该将NSSocketPortNSFileHandler用于常规联网。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM