Ich arbeite an einer Client/Server-Anwendung. Ich habe viele Artikel dafür bereit und fand eine sehr allgemeine Aussage, dass "Creation/deletion of socket is very expensive process in terms of using system resources"
. Aber nirgendwo wird erklärt, wie viel Ressourcen verbraucht werden.
Kann jemand Einblick darauf geben?Ist Socket-Erstellung-Löschung sehr teurer Prozess?
Antwort
Erstellen Steckdose ist billig. Durch das Verbinden wird tatsächlich die Verbindung hergestellt, die mehr oder weniger teuer ist als das Erstellen der zugrunde liegenden Verbindung, insbesondere der TCP-Verbindung. TCP-Verbindungsaufbau erfordert die dreifachen TCP-Handshake-Schritte. Verbindungen live zu halten, kostet hauptsächlich Speicher und Verbindungen. Netzwerkverbindungen sind eine Ressource, die von den Betriebssystemen begrenzt wird (z. B. Anzahl der Sockets an einem Port).
Wenn Sie Thread-Modell verwenden, sind zusätzliche Thread-Erstellungsressourcen erforderlich.
ich eine nützliche wie auf Ihre Antwort „Network Programming: to maintain sockets or not?“ auf Stackoverflow finden konnten. Und ein nützlicher Artikel Boost socket performance on Linux
Ich denke, hilfreich für Sie.
- 1. Ist context.getSystemService() ein teurer Aufruf?
- 2. Ist Atom-Dekrementierung teurer als Inkrementieren?
- 3. Referenzpreis teurer als Wertübergabe
- 4. Ist die App-Engine teurer, wenn sie langsamer ist?
- 5. Von Queryset zu Liste, ist es teurer Betrieb?
- 6. Was ist teurer "Umbenennen" oder "Link und aufheben" in C
- 7. Ist iprefix teurer als der Vergleich zweier Strings in C#?
- 8. Ist eine Instanz val teurer als das Companion-Objekt val?
- 9. UIImage setImage ist sehr, sehr langsam
- 10. Was ist "Section 508" sehr sehr einfach?
- 11. UIWebView ist sehr langsam
- 12. django ist sehr langsam
- 13. Ist PHP sehr begrenzt?
- 14. Sehr langsam einfügen Prozess mit Linq zu Sql
- 15. Ist Init-Prozess ein Daemon-Prozess
- 16. Android Studio 1.2 Gradle ist sehr langsam
- 17. Ändern der Video-Wiedergabe ist wirklich sehr langsam Prozess mit FFMPEG Android Java kompilierte Bibliothek
- 18. Masstransit Verwendung RabbitMQ ist sehr langsame Leistung?
- 19. NHibernate Latenz ist sehr hoch
- 20. Seite Ladezeit ist sehr hoch
- 21. `Friday` Paket ist sehr langsam
- 22. RichTextBox Formatierung ist sehr langsam
- 23. Ist Vim-Editor sehr intelligent?
- 24. Coredata ist sehr langsam; swift
- 25. TabControl Hinzufügen ist sehr langsam
- 26. Stripping Newline ist sehr schwierig
- 27. Elasticsearch Indizierung ist sehr langsam
- 28. jquery animate ist sehr fehlerhaft
- 29. Std :: Iota ist sehr begrenzt
- 30. Android TextureView.getBitmap() ist sehr langsam
Sie lesen wahrscheinlich ein altes Buch. Die Socket-Erstellung benötigt nur Speicher für Kernel-Socket-Datenstrukturen. –