2010-11-24 3 views
1

Ist es möglich, eine Peer-to-Peer-Chat-Anwendung in Python zu schreiben?Schreiben einer P2P-Chat-Anwendung in Python

Ich denke dabei aus einem Hobby-Projekt Sichtpunkt. Können zwei Maschinen direkt miteinander verbunden werden, ohne einen Server einzubeziehen? Ich habe mich immer gefragt, aber ich habe es nie irgendwo umgesetzt gesehen, also denke ich, dass irgendwo ein Haken sein muss.

PS: Ich habe vor, Twisted zu lernen, also wenn das eine Rolle spielt, wäre das ein zusätzlicher Vorteil!

Antwort

3

Ja. Mit Twisted geht das ganz einfach. Nur einer der Peers verhält sich wie ein Server und der andere agiert wie ein Client. In der Tat wird das verdrehte Tutorial den größten Teil des Weges dorthin bringen.

Das einzige Problem, mit dem Sie wahrscheinlich konfrontiert werden, sind Firewalls. Die meisten Leute betreiben ihre Heimcomputer hinter SNAT-Routern, wodurch es schwieriger wird, sie direkt von außen mit ihnen zu verbinden. Sie können es jedoch mit Port-Weiterleitung umgehen.

+0

Um mit dem Problem der Firewalls umzugehen, können Sie sich http://divmod.org/trac/wiki/DivmodVertex ansehen – Glyph

3

Ja, jeder Computer kann (solange er sich im selben Netzwerk befindet) eine Serverinstanz mit ein- und ausgehenden POST/GET einrichten.