Port com en UDP, "unique" ou pas ?

Bonjour,

Est-ce qu'un port UDP sur un PC est "unique", comme un port SERIE ? Par "unique" j'entends qu'il ne peut alimenter qu'un seul client/logiciel.

Pour illustrer mon propos, si je reçois des trames NMEA en UDP sur OpenCPN via le port com 2000 par exemple, est-ce que je peux aussi utiliser ce port com 2000 en UDP pour alimenter un autre logiciel que j'aimerai faire fonctionner en parallèle ?

Ou bien, dois-je - comme pour un port SERIE - passer par émulateur de ports, style VSPE ?

L'équipage
01 mars 2019
01 mars 2019

Quel système d'exploitation ?

01 mars 2019

Win10

01 mars 2019

joyeux bordel que cette question qui mélange un numero de port sur protocole UDP et un port série physique.
Question 1: tes 2 logiciels sont sur le meme pc ou pas ?
Question 2 : dans ta conf tu as peut etre une notion de multicast ou broadcast auquel cas ton info va etre recopié sur tout ton lan

01 mars 2019

A priori, en UDP (mais pas en TCP), c'est possible, si les logiciels ont été prévu pour stackoverflow.com[...]me-port

On va partir du principe que ici, non. Franchement le plus simple ça serait de recevoir dans opencpn, puis de re-emettre depuis opencpn sur un autre port pour l'autre logiciel, sinon il risque d'avoir un comportement aléatoire erratique (le mieux restant de tester, le code de opencpn étant open source, il est aussi possible de vérifier dedans si il y a les bonnes options pour).

01 mars 201901 mars 2019

@Schnaps
non cela fonctionne sans probleme.
tu peu l'utilisé sur plusieurs appli en même temps

01 mars 2019

khetzal et Furia
Merci pour vos réponses, mais cela se contredit un peu... :oups:

Pour détailler :
Multiplexeur et routeur wifi Yakker, port UDP 2000, adresse 192.168.4.** ; transmet différentes phrases Nmea.

Je reçois très bien sur OpenCPN [b]ou[/b] sur TimeZero les différents flux Nmea que je souhaite tester.
Soit sur l'un, soit sur l'autre..

Par contre, quand OpenCPN est lancé et connecté, TimeZero m'indique qu'il ne peut se connecter au port 2000 !?!

D'où ma question car cela me surprend un peu...

01 mars 2019

De ce que tu dis c'est pas tout à fait ce qu'on avait compris au début je pense.
Au debut, j'avais compris OpenCPN et Timezero écoutent sur le port 2000, et ta source leur envoie le message.
De ce que je comprend maintenant, ta source (le routeur) écoute sur le 2000, et les 2 logiciels se connectent dessus.
D'ailleurs t'es sûr que c'est de l'udp ? Car en udp, il n'y a pas de notion de connexion, mais que de messages, donc si il y a une erreur de connexion, c'est peut être du TCP ?

Le mieux pour moi, tu te connectes avec opencpn. Dans les options, connexions, ajouter une connexion, réseau / Udp, adresse ip 0.0.0.0 le port ce que tu veux, et tu coches "sortir sur ce port". Dans timezero, tu te connectes à 127.0.0.1 et le port que t'as mis dans opencpn, ce devrait marcher (sauf que timezero n'aura plus de source si opencpn ne tourne pas déjà).

01 mars 2019

Tu n'as pas d'option sur le Yakker pour "écouter" sur un port ? (ou paramétrer la sortie en 0.0.0.0 sur un port en TCP ?). Dans quel cas tu pourrais te connecter dessus avec les 2 logiciels sans soucis.

01 mars 2019

Non, tu avais bien compris au début.

Pour préciser un peu plus, le multiplexeur Yakker reçoit 3 entrées NMEA pour les sortir sur un seul port, soit un port série (donc filaire), soit un port UDP ou TCP donc virtuel.
Comme je n'attends pas de réponse, l'UDP suffit.

Donc pour résumer NMEA --> (3 entrées) Multiplexeur (1 sortie) -->routeur --> PC où sont installés les deux logiciels.

Dans tous les cas, la suggestion d'utiliser la sortie OpenCPN est intéressante et je la testerai.

01 mars 2019

De manière générale, il ne peut y avoir qu'un seul écouteur sur un port UDP (ou TCP).
Si tu veux deux logiciels qui écoutent le même port, il faut insérer un répéteur, comme celui-ci :
github.com[...]epeater

01 mars 201901 mars 2019

M'ouaip...
Ça confirme ce que je pressentais.
Je vais donc tester avec VSPE, tout en conservant le lien github.
:litjournal:

01 mars 2019

Il y a aussi Franson Gpsgate, que je préfère à VSPE.

01 mars 2019

Oui, c'est mon cas puisque je traite les messages ais en 38400.

01 mars 2019

Cet outil, Franson Gpsgate, peut-il recevoir des phrases en 38400 bds ?

01 mars 2019

Normalement OpenCPN utilise les options qui vont bien (c'est pas certain à 100% à cause des functions utilisées).

Tu peux tester en installant un deuxième OpenCPN sur la même machine.

Si cela fonctionne avec O + O mais pas O + TZ essayes d'utiliser 0.0.0.0 comme adresse IP dans OpenCPN, peu probable.

Sinon il faut un multiplexeur.

01 mars 201901 mars 2019

Sous windows je pense que ce n'est pas possible. Il faudrait un serveur gps pour que plusieurs programmes puissent utiliser la même source.(mais je ne suis pas un spécialiste de windows)
Sous linux c'est possible grace à gpsd.

Phare de la pointe de Vénus Tahiti

Phare du monde

  • 4.5 (101)

Phare de la pointe de Vénus Tahiti

2022