Bonjour à tous.
Ce n'est pas faute d'avoir cherché en long et en large, de tester en vain un bout de code pour récupérer une suite de 96 octets que me retourne un serveur local(localhost) en UDP.
Je pensais trouver facilement un exemple "client udp" sur lequel me reposer, que nenni. je ne trouve que des exemples pour du tcp.
Mes maigres compétences me font perdre mon latin entre class, methode, self je décode pas tous du class BasicUDPTest(ThreadedUDPSocketTest): de testsocket.py
------
Le serveur (un simulateur de conduite) m'envoie toutes les X milllisecondes cette suite d'infos: (on peux forcer ce x dans le serveur).
Le bout de code
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
16
17
18
19
20
21
22 Each update sends the following UDP packet : unsigned int Time; // time in milliseconds (to check order) char Car[4]; // Car name word Flags; // Combination of OG_FLAGS, see below byte Gear; // Reverse:0, Neutral:1, First:2... byte SpareB; float Speed; // M/S float RPM; // RPM float Turbo; // BAR float EngTemp; // C float Fuel; // 0 to 1 float OilPress; // BAR float Spare1; float Spare2; float Spare3; float Throttle; // 0 to 1 float Brake; // 0 to 1 float Clutch; // 0 to 1 char Display1[16]; // Usually Fuel char Display2[16]; // Usually Settings int ID; // (optional ID - if specified in cfg.txt)
Si une âme charitable pouvait m'aider à créer un module qui récupères chaque x millisecondes quelques octects d'un serveur en UDP..., je tourne en rond et il me semble que je ne suis pas le seul à la lecture d'autres post.
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
16
17
18
19
20 # -*- coding: iso-8859-1 -*- import socket host="127.0.0.1" port=56661 s=socket.socket(socket.AF_INET, socket.SOCK_DGRAM) print "connecting ..." s.connect((host, port)) print "connected" infoLFS=[] # Liste qui contiendra les 96 octects chaque x millisecondes while 1: # appel du module "va lire les 96 octects que t'envoie le serveur en udp" # je traite ici les octects dont j'ai besoin (déjà develloper) if raw_input("Tapez q pour quitter: ")=="q": break conn.close() s.close()
Partager