2008-09-07 4 views
5

Sie können die Shell IPython in Ihre Anwendung einbetten, sodass sie die Shell im Vordergrund startet. Gibt es eine Möglichkeit, einen Telnet-Server in eine Python-App einzubetten, so dass Sie mit einem bestimmten Port telnet und eine Remote-IPython-Shell starten können?Einbetten einer Python-Remote-Shell in eine Anwendung

Alle Tipps zum Umleiten der Eingabe-/Ausgabestreams für IPython oder zum Anhängen an eine Telnet-Serverbibliothek oder Empfehlungen für andere Bibliotheken, die zur Implementierung dieser Bibliothek verwendet werden könnten, werden sehr geschätzt.

Antwort

2

Python enthält einen telnet client, aber keinen Telnet-Server. Sie können einen Telnet-Server mit Twisted implementieren. Here's an example. Was diese Dinge angeht, liegt es an Ihnen.

0

Ich denke, Sie sollten Ihre Server-Klasse auf der SocketServer Klasse aus der Standard-Bibliothek basieren. Sie müssen eine RequestHandler schreiben, um die Eingabe zu lesen und zu echotieren, aber ein Großteil des Heavy Liftings ist bereits für Sie erledigt.

Sie können den ThreadingMixIn verwenden, um den Server sehr einfach multi-threaded zu machen.

+0

ich verwenden glauben, dass die bessere Praxis "wählen Sie" statt Einfädeln auf einem Server zu verwenden ist. http://ilab.cs.byu.edu/python/select/echoserver.html –

1

Verwenden Sie Twisted Manhole. Docs sind ein bisschen zu wenig, aber es ist einfach genug, einen Telnet-basierten Remote-Server einzurichten und es kommt mit einer GTK-basierten GUI.

Verwandte Themen