In TCP können Sie zwischen Servern und Clients unterscheiden, da Server diejenigen sind, die binden und akzeptieren (TCP-Listener) und Clients nur eine Verbindung zu diesen Servern herstellen. Beide können senden und empfangen.Wer ist der Server und wer ist der Client in UDP?
Aber wie unterscheiden Sie in UDP zwischen Servern und Clients? Es gibt kein spezielles Verhalten, um zwischen Servern oder Clients in UDP zu unterscheiden, oder? Es scheint, dass wir Maschinen, die an einer UDP-Verbindung beteiligt sind, nur als Absender und Empfänger klassifizieren können. Ein Server könnte beides oder beides sein. Er kann Daten von vielen Clients empfangen oder Daten an viele Clients (z. B. Multicast-Server) senden.
Bitte korrigieren Sie mich, wenn ich falsch liege und verweisen Sie mich auf das richtige Forum, wenn ich die Frage in der falschen posted.
Danke.
Das ist nicht wahr von UDP nicht mehr als es von TCP ist. –
@RussellBorogove Da ich nicht gesagt habe, dass es für TCP wahr ist, und da es * wahr von UDP ist, ist Ihr Kommentar zu 100% falsch. Die Sache, die TCP zu einem Client/Server-Protokoll macht, ist der Socket im LISTENING-Zustand, der Verbindungen akzeptiert. Diese Struktur existiert nicht in UDP. – EJP
DNS, TFTP und viele Spiele haben Protokolle auf UDP, die eindeutig Client-Server sind. Soweit Ihre Antwort richtig ist, ist es irrelevant. Wenn ein Host recv() an einem UDP-Socket aufruft, der an einen bekannten Port gebunden ist, fungiert er als Server. –