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?
risposta
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.
- 1. Creazione di una procedura MySQL
- 2. Context.getSystemService() è una chiamata costosa?
- 3. DbContext è un'operazione costosa?
- 4. SQLite è la dichiarazione CASE costosa?
- 5. La latenza di NHibernate è molto alta
- 6. Stat() è una chiamata di sistema costosa?
- 7. Creazione di una procedura memorizzata tramite C#
- 8. Creazione di una mappa molto, molto grande in Java
- 9. Perché l'impaginazione è così costosa?
- 10. Perché la divisione è più costosa della moltiplicazione?
- 11. Perché la chiamata al metodo Java è così costosa qui?
- 12. Quale è meglio: chiamare la procedura all'interno di una procedura o eseguire SQL all'interno di una procedura?
- 13. Ember.js - Creazione di una procedura guidata multistep - Come?
- 14. Perché la firma delle chiavi è così costosa?
- 15. Esiste un metodo Exit per uscire da una procedura nidificata e la sua procedura del proprietario?
- 16. Qual è la procedura migliore durante la creazione di ID documento in couchdb?
- 17. Qual è la sintassi per definire una procedura Oracle all'interno di un'altra procedura memorizzata?
- 18. È richiesto `definer` durante la creazione di una stored procedure?
- 19. Quando la dimensione della chiamata del database è più costosa della frequenza delle chiamate?
- 20. Qual è la differenza tra socket POSIX e socket BSD?
- 21. Creazione di una base C/C++ socket TCP scrittore
- 22. File. Esiste un'operazione costosa?
- 23. Sta chiamando un'operazione parziale costosa?
- 24. Manutenzione costosa con dati di test automatizzati
- 25. sta lanciando un'operazione costosa?
- 26. Twisted è una sostituzione di httplib2/socket?
- 27. L'operazione di ottenere l'id del tempo di thread corrente è costosa?
- 28. Perché creare una classe in Python è molto più lenta dell'istanza di una classe?
- 29. Come eseguire la procedura?
- 30. Esegui comando dopo la creazione del Webpack
Probabilmente stai leggendo un vecchio libro. La creazione di socket richiede solo memoria per le strutture di dati del socket del kernel. –