2012-12-27 15 views
5

Sto lavorando su un'applicazione client/server. Ho preparato molti articoli per questo e ho trovato una dichiarazione molto comune che è "Creation/deletion of socket is very expensive process in terms of using system resources". Ma non dove è spiegato come si consumano così tante risorse.
Qualcuno può dare un'occhiata a questo?La creazione del socket è una procedura molto costosa?

+1

Probabilmente stai leggendo un vecchio libro. La creazione di socket richiede solo memoria per le strutture di dati del socket del kernel. –

risposta

5

La creazione di socket è economica. La sua connessione crea effettivamente la connessione, che è più o meno costosa della creazione della connessione sottostante, specialmente della connessione TCP. La connessione TCP stabilita richiede i passaggi di handshake TCP a tre vie. Mantenere le connessioni attive costa principalmente memoria e connessioni. Le connessioni di rete sono una risorsa limitata dai sistemi operativi (ad esempio il numero di socket su una porta).

Se si utilizza il modello di thread sono necessarie risorse aggiuntive per la creazione di thread.


sono riuscito a trovare un utile, come per la tua risposta "Network Programming: to maintain sockets or not?" su StackOverflow. E un articolo utile Boost socket performance on Linux

Penso che sia utile.

Problemi correlati