Bonjour à tous !
Récemment j'ai commencé à m'intéresser à la programmation socket sous Python.
Je me suis en effet fait une application pour l'apprentissage du japonais, et je cherchais un moyen de la faire communiquer avec un serveur, pour sauvegarder les listes de vocabulaire, les progressions, etc...
Comme je suis vraiment débutant en programmation réseau, j'aurais aimé savoir si ma démarche semble juste ou plutôt boiteuse...
0) Je crée un socket, de type datagram sur le serveur qui sera en écoute
1) Dans mon client je crée un socket datagram, et envoie un message au socket serveur
2) Le serveur renvoie un numero de port au client, et crée en même temps un nouveau socket de type stream assigné au port envoyé (dans un thread à part je dirais)
3) Le client crée de son côté un socket stream, et se connecte au serveur
4) J'envoie au serveur une structure de données (serialisée) qui lui indiquera quelle fonction exécuter et avec quels arguments
5) Le serveur renvoie sa réponse
6) Je tue les sockets stream des deux côtés
Ca me semble vraiment très brouillon comme façon de faire, mais j'avoue ne pas en connaitre d'autre.
Est-ce qu'il y a d'autres façons plus efficaces de résoudre ce genre de problème ?
Partager