gpt4 book ai didi

c - SO_LINGER 和关闭套接字(WINSOCK)

转载 作者:行者123 更新时间:2023-12-02 16:13:23 24 4
gpt4 key购买 nike

我正在编写一个多线程winsock应用程序,但我在关闭套接字时遇到了一些问题。首先,同时打开的套接字数量是否有限制?假设一次有 32 个套接字。

我在其中一个套接字上建立了连接,并传递信息,一切顺利。问题是当我断开套接字然后重新连接到同一目标时,我在 SYN 之后从服务器收到 RST。我没有服务器应用程序的代码,因此无法调试它。

当我使用 SO_LINGER 并在每个 session 结束时发送一个 RST 标志时 - 它起作用了。但我不想以这种方式结束我的联系。当不使用 SO_LINGER 时,发送了 FIN 标志,但似乎连接并未真正关闭。

有什么帮助吗?谢谢

最佳答案

在 Unix 上,每个进程有一个文件描述符限制 - 我猜在 Windows 上它是“句柄”。

您可能正在bind()将您的客户端套接字连接到固定端口。这可能是服务器拒绝您后续连接的原因。尝试普通的临时端口。

关于c - SO_LINGER 和关闭套接字(WINSOCK),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2828078/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com