“Re-bonjour,
J’arrive maintenant à faire un ping sur le robuLAB10. J’essaie de me connecte à l’adresse 10.0.14.2, sur le port 60000 (comme indiqué dans la doc) en UDP. Cependant, je ne parviens pas à envoyer des informations.
En faisant un telnet, j’obtiens:
\> netstat -n
TCP TABLE
Loc Addr Loc Port Rem Addr Rem Port State 0.0.0.0 21 0.0.0.0 12515
LISTEN 0.0.0.0 23 0.0.0.0 53456
LISTEN 10.0.14.2 23 10.0.14.3 33667
ESTAB
UDP TABLE
Loc Addr Loc Port 0.0.0.0 137 0.0.0.0 138 0.0.0.0 60000
Avez-vous uen solution à ce problème ?
Cordialement,
Jonathan Courbon
”
“Bonjour,
pouvez-vous être plus précis quand au type d’information que vous essayez d’envoyer?
Recevez-vous des informations?
Quelle démarche précise avez vous suivi?
Arnaud.
”
“Bonjour,
Je vous envoie le code de mon application. Celle-ci est développée en C++ et utilise la librairie Qt4.
Le programme contient dans le main(): – création d’une socket UDP – bind avec l’adresse 10.0.14.2 et le port 60000 – envoi d’une requete créée à partir d’une Request::Get (0x00) sur le DifferentialDrive (instance 3) avec un identifiant de 1. – attente d’une seconde – lecture du datagram envoyé par le robot (s’il y en a un).
La démarche que je suis est la suivante:
1/ Je démarre le robuLAB10 qui est connecté avec mon PC. Celui-ci arrive à faire un ping sur le robot.
2/ Je lance mon appli
3/ Le programme retourne “Could not bind socket”
=> le probleme est au niveau du bind
Merci d’avance,
Jonathan Courbon”
Bonjour,
il ne faut pas spécifier l’adresse de la carte PURE dans la méthode bind, mais l’adresse d’une interface sur la machine qui exécute votre code.
bind sert à spécifier sur quelle interface et quel port vous voulez recevoir des messages. A priori, vous devriez pouvoir l’appeler sans arguments.
C’est dans les méthodes writeDatagram et readDatagram que vous devez spécifier l’adresse de la carte PURE du robuLAB.
Marc
Bonjour,
Le code que je vous avais envoyé est maintenant fonctionnel. Merci pour votre réponse rapide.
Cordialement,
Jonathan Courbon