récupération donnée dans des paquet UDP - Python - Programmation
Marsh Posté le 16-03-2015 à 18:13:14
Si tu veux juste vérifier que ça fonctionne, tu peux utiliser l'outil netcat (installé en standard sous OS X et linux), avec une commande du genre:
$ nc -l -u -p 12345 |
Écoutera sur le port UDP 12345. Si c'est du binaire qui est envoyé, tu ne verra probablement rien d'intéressant. Si tu veux faire ça par programme, tu peux te baser sur ce genre de pseudo-code :
Code :
|
Note: ça utilise l'API winsock et non BSD. À toi de faire la conversion.
Marsh Posté le 16-03-2015 à 20:48:12
A noter qu'un datagramme UDP ne peut être reçu que par un seul appel recvfrom à la fois. Si la taille précisée dans recvfrom est inférieure à la taille du datagramme réellement reçu, le reste sera perdu. Ceci peut être problématique dans le cas de la réception de datagrammes grands et de tailles variables ( ce qu'il ne faudrait pas faire dans l'absolu ).
Marsh Posté le 17-03-2015 à 08:50:46
Merci pour vos réponse, je voit que ca à l'air possible
Quand tu parle de pseudo code, on est en C (c'est ca ^^)
y'aurai pas moyen de faire ca en python ?
Marsh Posté le 17-03-2015 à 11:55:17
C'est le b a ba de la programmation réseau, ça, tu prends n'importe quel bouquin de programmation réseau dans le langage de ton choix et tu auras des exemples de code.
Si tu veux en python, tu cherches dans un bouquin python/réseau.
Suffit de taper "python udp client" dans la recherche google pour avoir un tas d'exemples.
A+,
Marsh Posté le 20-03-2015 à 11:42:11
Hey salut tout le monde !
Après quelque recherche, voici ce que j'ai trouvé:
Code server.py
Code :
|
et client:
Code :
|
Ma question est maintenant que j'arrive a transmettre des données via des paquet UDP.
j'aimerai pouvoir lire les en-tete UDP. le but serai de recupérer:
port source | Port destinaion | longueur | checkSUM
Merci =)
Marsh Posté le 16-03-2015 à 16:15:37
Salut a tous
Je bosse sur un projet de réseau de capteurs, ces dernier envoie leur données via le réseau TCP/IP dans des paquet UDP.
Savez -vous comment je pourrais récupérer les données de ces paquet UDP via un petit programme ( en quel langage je ne sais pas encore. a déterminer, je suis ouvert a toute proposition =)
l'objectif serai de pouvoir écrire ces donneés dans des fichiers texte brut , pour ensuite y ecrire proprement dans une base mysql
Merci de votre aide =)
Message édité par lysitheas le 17-03-2015 à 08:47:28
---------------
Rog G501 | win8.1 | Linux Mint 17.3 | use TLP fom linrunner for battery use on Liunx. | Visit my site : opentrux.fr