【问题标题】:Is socket creation-deletion very expensive process?套接字创建删除过程是否非常昂贵?
【发布时间】:2012-12-27 09:02:30
【问题描述】:

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

【问题讨论】:

  • 您可能正在阅读一本旧书。套接字创建只需要内核套接字数据结构的内存。

标签: sockets client-server


【解决方案1】:

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

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


我可以在 Stackoverflow 上找到与您的回答“Network Programming: to maintain sockets or not?”类似的有用信息。还有一篇有用的文章Boost socket performance on Linux

我认为对你有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-12
    • 1970-01-01
    相关资源
    最近更新 更多