簡體   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