Tout d'abord, y a-t-il un problème à utiliser à la fois UDP et TCP sur le même serveur ?
Deuxièmement, puis-je utiliser le même numéro de port ?
Tout d'abord, y a-t-il un problème à utiliser à la fois UDP et TCP sur le même serveur ?
Deuxièmement, puis-je utiliser le même numéro de port ?
Oui, vous pouvez utiliser le même numéro de port pour TCP et UDP. De nombreux protocoles le font déjà, par exemple le DNS fonctionne sur udp/53. y tcp/53.
Techniquement, les pools de ports pour chaque protocole sont complètement indépendants, mais pour les protocoles de niveau supérieur qui peuvent utiliser TCP ou UDP, il est de coutume qu'ils utilisent le même port par défaut. numéro .
Lors de l'écriture de votre serveur, gardez à l'esprit que la séquence d'événements pour une socket TCP est beaucoup plus difficile que pour une socket UDP, puisque, en plus de l'utilisation normale de socket
y bind
appels, vous devez également listen
y accept
.
De plus que accept
renverra une nouvelle socket et son contenu que que vous devrez alors également interroger pour les événements de réception. Votre serveur devrait être prêt à poursuivre accept
de connexions sur le socket d'origine tout en desservant simultanément plusieurs clients qui déclencheront chacun des événements de réception sur leurs propres sockets.
Tout d'abord, il n'y a aucun problème à utiliser à la fois tcp et udp sur le serveur.
Deuxièmement, nous pouvons avoir des demandes UDP et TCP sur le même port, car chaque demande est identifiée par un quintuple contenant l'IP source, l'IP destination, le port source, le port destination et le PROTOCOLE (le protocole pouvant être TCP ou UDP).
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.