bonjour a tous,
imaginons le cas de figure suivant :
j'ai 2 programmes, client et serveur.
- le premier écoute les evenements d'un joystick et envoie les coordonées des axes par UDP au second
- le second les reçoit et les utilise.
l'udp est utilisé afin de garantir une transmission temps réèl (comme dans les jeux en réseau style FPS)
mon seul probème est de savoir quelle stratégie adopter pour envoyer ces paquets. Voici celles que j'ai envisagées :
1 - Les envoyer simplement avec un sento() à la suite les unes des autres, à chaque réception d'un evenement joystick. Mais cela ne permet pas de garantir que la dernière coordonnée est arrivée.
2 - Envoyer en permanence avec un sleep de 5 millisecondes les coordonnées joystick. Un peu bourrin et surtout pourquoi 5 millisecondes et pas un autre nombre, cela dépendrait de la qualité du réseau.
3 - Envoyer les coordonées avec un identificateur unique, puis attendre une réponse avec ce meme identificateur pour en renvoyer un autre. Oui mais si la réponse ne reviens jamais, le programme se bloque. On peut alors penser à un timeout à partir duquel les coordonnées sont réémise. Et encore une fois, quelle valeur pour ce timeout ?
voilà, j'ai pas d'autres idées pour le moment. En fait jaimerais bien m'inspirer des jeux existant genre counter-strike, ou ceux open-source pour aller voir comment ils procèdent.
Si certain ont déjà eu l'occasion de travailler sur le problème....
Merci
bye
Partager