2017-01-31 4 views
0

Ist es besser, einen TCP-Socket für längere Zeit offen zu lassen oder die Verbindung häufig wiederherzustellen?Länge der Lebensdauer eines TCP-Sockels

Nehmen wir HTTP in einem Browser als Beispiel. Ist es besser, eine Verbindung herzustellen, die HTTP-Anfrage zu stellen, und nach Erhalt einer Antwort diese nur zu schließen, um eine neue zu öffnen, wenn wir eine neue Anfrage machen? Oder: Soll der Socket so lange geöffnet bleiben, wie dieser bestimmte Benutzer diese Seite noch durchsucht?

+1

Betrachtet keep alive wurde in HTTP implementiert, um die Leistung zu verbessern, das sollte etwas sagen. Aber es hängt von den Zeitplänen ab. Das Öffnen der TCP-Verbindung ist langsam. –

+1

Es kommt darauf an, was meinst du mit "häufig"? Mehrmals pro Sekunde? Einmal jeden Tag? Und wie viel Daten werden Sie jedes Mal übertragen, wenn Sie die Verbindung wieder herstellen (wenn Sie diese Route gehen)? –

+1

HTTP-Pipelining wurde entwickelt, um dies zu tun - halten Sie die TCP-Verbindung geöffnet, anstatt eine Verbindung für jedes Element auf der Webseite zu machen. Und sogar mehrere Elemente vor dem Empfangen des ersten angeforderten anfordern, d. H. Das tatsächliche Pipelining. –

Antwort

0

Es gibt kein Problem damit, einen Sockel offen zu lassen. Keep-Alive-Option ist dafür gedacht. Ich werde es offen lassen.

Verwandte Themen