Best practice: Halten Sie die TCP/IP-Verbindung öffnen oder schließen Sie es nach jedem transfer?

Mein Server-App verwendet einen TIdTCPServer, mehrere Client-apps nutzen TIdTCPClients Verbindung zum server (alle Rechner sind im gleichen LAN).

Einige der clients müssen nur eine Verbindung mit dem server alle paar Minuten, andere einmal jeder zweite, und man wird dies tun, über 20 mal in der Sekunde.

Wenn ich die Verbindung zwischen einem Client und dem Server zu öffnen, werde ich speichern Sie die neu zu verbinden, sondern haben zu prüfen, ob die Verbindung verloren gegangen ist.

Wenn ich schließen Sie die Verbindung nach jeder Datenübertragung muss die Verbindung jedes mal, aber es gibt keine Notwendigkeit, zu überprüfen, ob die Verbindung noch besteht.

Was ist der beste Weg, dies zu tun?

Welche Frequenz der Datenübertragung sollte ich halten die Verbindung offen im Allgemeinen?

Welche sonstigen Vorteile /Nachteile für beide Szenarien?

  • Der Aufwand der Herstellung einer neuen TCP-Verbindung ist hauptsächlich ein paar Rundfahrten. Und die sind ziemlich schnell auf LAN. Also ich würd schließen Sie die Verbindung nach ein paar Sekunden nicht nutzen.
  • Aber ich würde schreiben Sie es auf die einfache Art und Weise(wahrscheinlich die sofortige Schließung) zuerst und dann prüfen, ob die Leistung zufriedenstellend ist.
  • Siehe meine Antwort auf diese Frage: stackoverflow.com/questions/4872800/...
InformationsquelleAutor Holgerwa | 2011-02-17
Schreibe einen Kommentar