UDP und TCP-Sockets
-
Hallo,
hab nur ne kurze Frage zu TCP und UDP, um sicher zu gehen, ob ich das richtig verstanden hab:
Bei einem TCP-Server bekommt jeder Client, der sich verbindet, einen Socket zugewiesen, während bei UDP nur ein einziger Socket benötigt wird, stimmt das so?
Dank euch!
-
Theoretisch ist ein Socket ein Tuple aus Host-IP, Host-Port, Remote-Ip und Remote-Port, diese brauchst du sowohl für TCP als auch für UDP.
-
Aber ich dachte, ein Socket sei eine Art Stream, in den man schreibt und aus dem man liest!?
-
Eher ein Handle.
-
WeissNixKannNix schrieb:
Bei einem TCP-Server bekommt jeder Client, der sich verbindet, einen Socket zugewiesen, während bei UDP nur ein einziger Socket benötigt wird, stimmt das so?
Kann man inetwa so sagen, ja.
WeissNixKannNix schrieb:
Aber ich dachte, ein Socket sei eine Art Stream, in den man schreibt und aus dem man liest!?
Bei TCP hast du einen Stream pro Socket.
Bei UDP ist der Socket nur ein Ding über das man Datenpakete ("datagram") absenden kann, und mit dem man Datenpakete empfangen kann. Wo auch immer diese hingehen und wo auch immer sie herkommen.
Pro Datenpaket muss man dabei angeben wo es hin soll, bzw. bekommt mitgeteilt von wo es gekommen ist.Dadurch kann man mehrere Clients mit nur einem einzigen UDP Socket bedienen.