2012-12-27 37 views
5

我正在處理客戶端/服務器應用程序。我已經爲此準備了很多文章,並發現一個非常常見的說法,即"Creation/deletion of socket is very expensive process in terms of using system resources"。但沒有解釋它是如何消耗這麼多資源的。
有人可以對此進行一瞥嗎?套接字創建 - 刪除非常昂貴的過程?

+1

您可能正在閱讀一本舊書。創建套接字只需要內存套接字數據結構的內存。 –

回答

5

創建套接字很便宜。連接它實際上會創建連接,這與創建底層連接(特別是TCP連接)差不多。建立TCP連接需要三方面的TCP握手步驟。保持連接生活成本主要是內存和連接。網絡連接是受操作系統限制的資源(例如,端口上的套接字數量)。

如果您正在使用線程模型所需的其他線程創建資源。


我能找到一個有用的喜歡你的#2回答「Network Programming: to maintain sockets or not?」。並且有用的文章Boost socket performance on Linux

我覺得對你有幫助。