L'envoi et la réception de paquets UDP entre deux programmes sur le même ordinateur

Est-il possible d'obtenir deux programmes distincts pour communiquer sur le même ordinateur (aller seulement) sur UDP via localhost/127... en partageant le même port #?

Nous travaillons sur un projet d'étudiants à qui nous devons envoyer des paquets UDP contenant certains de télémétrie entre deux ordinateurs. Le programme qui génère ces paquets sont propriétaires, mais je suis en train de travailler sur le récepteur programme moi-même avec C# à l'aide de Système.Net.Les Sockets.UdpClient et Système.Net.L'ipendpoint.

Cela fonctionne bien lors de nos réunions du groupe lorsque nous avons plusieurs ordinateurs connectés sur lequel on peut exécuter les deux programmes séparément. Mais il n'est pas très utile quand je suis à la maison et essayer d'étendre sur la télémétrie programme de traitement que je n'ai qu'un seul ordinateur (j'ai besoin d'une alimentation pour l'essai d'un programme de traitement). Je ne peux pas installer le logiciel sur les ordinateurs de l'école soit.

Lorsque j'essaie d'exécuter les deux programmes sur mon ordinateur en même temps (à partir de mon programme), je reçois une exception socketexception dire qu'une seule utilisation de chaque port est normalement permis. Ce qui m'amène à croire qu'il y doit y avoir un moyen de partager le port (même si il est logique qu'un seul programme peut utiliser le port sur un ordinateur à la fois, je n'ai pas de difficulté de l'exécution de plusieurs navigateurs internet en même temps (et je suppose qu'ils utilisent le port 80 pour http)).

REMONTEZ de l'ÉDITION:

sipwiz avait raison, et grâce à Kalmi pour le pointeur vers UdpClient.Client.Bind().
À l'époque, cependant, on envisage d'utiliser un autre programme qui génère des paquets similaires, et avec qui nous pouvons partager port avec sur le même ordinateur à l'aide de mon premier (bien que naïve) approche avec le client UDP de liaison dans le ctor.
Désolé d'avoir à enlever votre réponse, sysrqb.

  • Une façon que vous pourriez potentiellement obtenir autour de cette si aucune autre solution est de créer une machine virtuelle et d'avoir la machine virtuelle communiquer avec votre bureau principal.
  • Les navigateurs Internet ne partagent pas les ports. Ils utilisent un port aléatoire(attribué par le système d'exploitation) pour se connecter au serveur. Le client et le port du serveur n'ont pas à être les mêmes. Utiliser netstat pour voir ce que les ports de votre navigateur utilisez.