我正在使用NSStream通过网络连接发送和接收单个字符
我使用CFStreamCreatePairWithSocketToCFHost(...)
实例化了用于阅读和写作的流。
发送和接收的基本工作机制正常。
现在我只想在需要发送或接收内容时(通常每2分钟一次)创建NSStream
。我第一次创建流,发送数据包,关闭它,一切正常。接下来我尝试重新创建NSStream
(创建一个新套接字并在其上打开流),打开功能不起作用。由于我使用netcat
来测试它,我看到当我使用[NSStream close]
方法关闭流时,服务器上的连接没有关闭。我怎么强行关闭插座?或者有更好的方法来做我想做的事情?
答案 0 :(得分:3)
使用CFWriteStreamSetProperty
和CFReadStreamSetProperty
将kCFStreamPropertyShouldCloseNativeSocket
设置为kCFBooleanTrue
,以便在关闭流时关闭基础套接字。