Es is zwar "lange" (3 Monate
) her, dass ich das gelernt habe, aber es ist gut möglich, dass ich mich an so manche Dinge etwas falsch erinnere:
TCP ist verbindungsorientiert, d.h. es beginnt schon mal mit dem netten Three-Way-Handshake, und geht weiter, bis zur Garantie der vollständigen Übertragung der Pakete (oder zumindest einer Benachrichtigung, falls es einen Timeout gab).
UDP ist hingegen verbindungslos, d.h. Pakete werden einfach auf die Reise geschickt, ohne Garantie, ob und wie sie ankommen.
Nun, dass
TCP langsamer ist kann ich mir vorstellen. Schließlich muss eine Empfangsbestätigung gesendet werden, und auf der sendenden Seite darauf gewartet werden.
Was man für einen P2P-Chat nimmt? Nun, ich gehe mal davon aus, dass du dir zu 100% sicher sein willst, dass deine Pakete auf der anderen Seite auch ankommen. Entweder kannst du UDP nehmen und selbst die Verantwortung über den Verlust von Paketen übernehmen, oder du nimmst
TCP und kümmerst dich nicht darum.
Wobei: bei einem Chat ist der Geschwindigkeitsfaktor nicht der allerwichtigste Faktor, zumindest denke ich nicht, dass man einen bemerkbaren Geschwindigkeitsgewinn bemerkt, wenn man UDP nimmt.
Also würde ich für einen P2P-Chat
TCP nehmen, da der "große" Nachteil von
TCP in einem Chat nicht eine sonderlich große Rolle spielt.
Da ich aber kein großer Netzwerkspezialist bin, sondern ein einfacher Schüler, der von nem schlechten Lehrer unterrichtet wurde, würde ich vor der Entscheidung noch die Meinung des einen oder anderen Facharztes abwarten