gpt4 book ai didi

linux - TCP 服务器中的 regd setsocketopt 和套接字内存使用情况

转载 作者:太空宇宙 更新时间:2023-11-04 04:22:16 25 4
gpt4 key购买 nike

我有一个监听客户端的服务器套接字。该服务器以无限循环运行。每个连接的客户端处理完毕后,“连接的套接字”就会关闭。我应该在已连接套接字的文件描述符上使用 setsocketopt 来实现可重用性吗?由于服务器套接字文件描述符永远不会关闭,我希望该套接字始终存在。

此外,我假设监听服务器套接字被阻塞,直到新客户端建立连接,因此这不会耗尽内存。不是吗?请帮忙。

谢谢

最佳答案

如果您正在考虑SO_REUSEADDR,它不会让您为新连接重复使用相同的套接字。另外,我认为这不会给你带来太多好处。创建新的fd/socket并不是一项艰巨的任务。您会发现除此之外的其他瓶颈。

但是您可以通过不关闭连接(在服务器和客户端)来进行优化,以便同一客户端可以通过该连接进行下一个请求的通信。这将减少您的连接设置时间。

是的,默认情况下监听套接字是阻塞的,因此 accept 调用将被阻塞。此外,这不会使用太多内存。您可以使其成为非阻塞并使用 pollselect 来确定新的传入连接。

关于linux - TCP 服务器中的 regd setsocketopt 和套接字内存使用情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12035000/

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