IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Un chat simple !


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 90
    Par défaut Un chat simple !
    Bonjour à tous,

    Je lance un peu un appel au secours, parce que je me suis un peu complètement perdue. Je cherchais, pour me faire la main en Python à développer un server/client chat relativement basique dans un premier temps en utilisant que le module socket, du genre mon server ouvre un socket, binde et écoute. Mon client se connecte et envoie des trucs via une lecture avec "input". Le server reçoit et renvoie... Le tout affiché dans la console. ( oui vraiment basique). Ensuite j'ai voulu améliorer et c'est là où je me suis perdue....

    D'un coté, je lis qu'il faut utiliser SocketServer (doc python), d'un autre qu'il faut utiliser des Threads ( Swinnen), encore d'un autre qui explique que les Threads ne sont pas la philisophie Python http://blog.unix4fun.net/post/2007/0...-comment-faire

    Au final, ce que j'avais compris est que pour chaque client il me faut un thread d'émission et un thread de reception et pour le server un thread d'écoute. Mais dans ces cas là, quel est l'interet de classes comme SocketServer, BaseRequestHandler ? Et est ce qu'en ne manipulant que des Threads ce n'est pas un peu suicidaire avec le GIL ?

    Si quelqu'un avait une explication à me donner ou un lien à m'indiquer pour éclaircir un peu tout ça, j'en serai grandement reconnaissante .

    Merci beaucoup & bonne journée à tous ,

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    941
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 941
    Par défaut
    Bonsoir,

    SocketServer est de plus haut niveau que l'utilisation des threads; tu peux dériver de ThreadingTCPServer et la gestion des threads sera automatisée (mais pas tout à fait transparente, il faut toujours utiliser des locks si nécessaire). Le GIL ne devrait pas te poser de souci pour une application de ce type. Mais pour un simple chat tu n'as sans doute même pas besoin de threads; un serveur synchrone devrait faire l'affaire. Le principe est qu'il ne sert qu'un client à la fois, mais tant que la gestion d'une requête reste rapide cela ne devrait pas poser de problème.

    Un joli exemple de serveur de chat avec ThreadingTCPServer: http://www.daniweb.com/software-deve.../threads/78535

Discussions similaires

  1. Chat simple avec le minimum de ressources serveur
    Par Guizmo95 dans le forum Langage
    Réponses: 6
    Dernier message: 12/12/2011, 01h18
  2. Réponses: 5
    Dernier message: 01/03/2010, 20h57
  3. [Flash] Chat irc ?
    Par Skorps dans le forum Flash
    Réponses: 9
    Dernier message: 13/10/2008, 00h55
  4. Petit t'chat simple
    Par gamerome dans le forum Réseau
    Réponses: 5
    Dernier message: 08/10/2005, 10h32
  5. recherche exemple simple pour corba en c++
    Par Pinggui dans le forum CORBA
    Réponses: 4
    Dernier message: 06/05/2002, 11h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo