CFSocketSetAddress 失败
我在使用 CFSocketSetAddress()
时遇到问题。我第一次调用它时,效果很好。 如果我清理与套接字关联的所有内容并尝试在同一端口上再次打开它,我会得到 -1 的 CFSocketError(kCFSocketError
- 非常具有描述性)。
我想我没有正确清理以前的套接字。我正在清理所有 FileDescriptors 并在 CFSocketRef
上调用 CFSocketInvalidate
和 CFRelease
。我还需要做些什么来清理现有的套接字以便可以重新打开套接字吗?
I have a problem with CFSocketSetAddress()
. The first time I call it, it works just fine.
If I clean up everything associated with the socket and attempt to open it again on the same port I get a CFSocketError
of -1 (kCFSocketError
- very descriptive).
I'm presuming I didn't clean up the previous socket correctly. I'm cleaning up all the FileDescriptors and calling CFSocketInvalidate
and CFRelease
on the CFSocketRef
. Is there anything else I need to do to clean up the existing socket so that the socket can be reopened?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
好吧,这总是会发生。发布到 StackOverflow,然后大约 5 分钟后弄清楚。
答:我需要在与套接字关联的 NSFileHandle 上调用 closeFile。
Ok this always happens. Post to StackOverflow and then figure it out about 5 mins later.
Answer: I needed to call closeFile on the
NSFileHandle
associated with the socket.