Bonjour à tous,
Voilà, c'est mon premier programme avec DotNet (C#) donc il risque très certainement de me manquer du vocabulaire, mais je vais essayer de faire aussi bien que possible.
Donc je dois réaliser une application client dont le principe est simple :
J'envoie un message UDP au serveur a l'adresse 127.0.0.1 et sur le port 11000 (specif).
Ce message dit que j'attends des données sur le port 13000 (arbitraire)
Derriere, j'attends les données, avec une bonne boucle 100%CPU qui au final crashe mon appli parce que je ne recois rien.
Voici le code :
Du cote serveur, j'ai ca :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 UdpClient udpClient = new UdpClient(getPortEcoute()); udpClient.Connect(getAddress(), getPortEcoute()); //getAdress 127.0.0.1 (de type IPAddress) //getPortEcoute retourne 13000 //IPEndPoint object will allow us to read datagrams sent from any source. IPEndPoint RemoteIpEndPoint = new IPEndPoint(getAddress(), getPortEcoute()); //c'est sur le port specifie que je veux recevoir mes petits paquets // Blocks until a message returns on this socket from a remote host. sendMessage("GET 2 \r\n \r\n"); //Get 2 est la syntaxe pour recevoir une image Console.WriteLine("prout"); //affiche prout, plus un joli sablier Byte[] receiveBytes = udpClient.Receive(ref RemoteIpEndPoint);
J'ai essayé de tracer les paquets (une nouvelle aussi). Mais apparemment comme c'est 127.0.0.1, ca transite par par la carte ethernet. Donc si jme trompe pas, c'est pas possible avec winshark.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 1: send data UDP :979 octets (to 127.0.0.1:13000) 1: send image data (UDP) :960 octets 1: send data UDP :981 octets (to 127.0.0.1:13000) ...
J'ai bien tenté netstat mais pour couronner le tout, c'est pas dispo dans ma console windows, jdois avoir les variables environnements endommagées (m'enfin, je pourrais probablement surmonter ce problème).
Donc voila, je pense que c'est pas que je rate les paquets, mais plus que ils transitent pas. Comme le serveur est fourni par le prof, j'ose espérer qu'il marche. Je pensais donc a une possibilité pour que windows i fasse du sien, mais comme j'y connais pas grand chose, je suis venu solliciter votre aide.
La syntaxe est-elle correcte? Comment tracer mes paquets UDP sur 127.0.0.1? Et cerise sur le gateau, la solution a ce probleme genant avec explications
En tout cas merci detre arrivé jusque la
Partager