8

我正在开发客户端/服务器应用程序。我为此准备了很多文章,发现了一个很常见的说法,即"Creation/deletion of socket is very expensive process in terms of using system resources". 但是没有地方解释它是如何消耗这么多资源的。
任何人都可以对此有所了解吗?

4

1 回答 1

9

创建套接字很便宜。连接它实际上会创建连接,这或多或少与创建底层连接(特别是 TCP 连接)一样昂贵。TCP 连接建立需要三次 TCP 握手步骤。保持连接活动主要消耗内存和连接。网络连接是受操作系统限制的资源(例如端口上的套接字数量)。

如果您使用线程模型,则需要额外的线程创建资源。


我可以在 Stackoverflow 上找到一个对您的回答“网络编程:是否维护套接字? ”有用的内容。还有一篇有用的文章Boost socket performance on Linux

我觉得对你有帮助。

于 2012-12-27T09:14:33.753 回答