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).

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)
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
# -*- 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()
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.