2010-11-24 11 views
1

Est-il possible d'écrire une application de chat peer-to-peer en Python? Je pense à cela d'un point de vue du projet amateur. Deux machines peuvent-elles se connecter directement sans impliquer un serveur? Je me suis toujours posé la question, mais je ne l'ai jamais vu implémenté nulle part, donc je pense qu'il doit y avoir un piège quelque part. PS: J'ai l'intention d'apprendre Twisted, donc si cela est impliqué, ce serait un avantage supplémentaire!Ecriture d'une application de chat P2P en Python

Répondre

3

Oui. Vous pouvez le faire assez facilement avec Twisted. Juste l'un des pairs agissent comme un serveur et l'autre agissent comme un client. En fait, le tutoriel tordu vous y mènera le plus souvent.

Le seul problème que vous risquez de rencontrer est le pare-feu. La plupart des utilisateurs utilisent leurs routeurs SNAT, ce qui les rend plus difficiles à connecter directement depuis l'extérieur. Vous pouvez le contourner avec la redirection de port si.

+0

Pour résoudre le problème des pare-feu, vous pouvez consulter http://divmod.org/trac/wiki/DivmodVertex – Glyph

3

Oui, chaque ordinateur (aussi longtemps que leur sur le même réseau) peut établir une instance de serveur avec POST/GET entrants et sortants.