CFSocketSetAddress 失败

发布于 2024-12-13 18:39:51 字数 329 浏览 0 评论 0原文

我在使用 CFSocketSetAddress() 时遇到问题。我第一次调用它时,效果很好。 如果我清理与套接字关联的所有内容并尝试在同一端口上再次打开它,我会得到 -1 的 CFSocketError(kCFSocketError - 非常具有描述性)。

我想我没有正确清理以前的套接字。我正在清理所有 FileDescriptors 并在 CFSocketRef 上调用 CFSocketInvalidateCFRelease。我还需要做些什么来清理现有的套接字以便可以重新打开套接字吗?

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

耀眼的星火 2024-12-20 18:39:51

好吧,这总是会发生。发布到 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文