Ich arbeite mich durch das Lernen Twisted, und bin über etwas gestolpert, ich bin mir nicht sicher, dass ich schrecklich gern - die "Twisted Command Prompt". Ich bin das Hantieren mit Verdrehte auf meinem Windows-Rechner, und versucht, die „Chat“ Beispiel läuft:Wie laufen Sie eine Twisted-Anwendung über Python (anstatt über Twisted)?
from twisted.protocols import basic
class MyChat(basic.LineReceiver):
def connectionMade(self):
print "Got new client!"
self.factory.clients.append(self)
def connectionLost(self, reason):
print "Lost a client!"
self.factory.clients.remove(self)
def lineReceived(self, line):
print "received", repr(line)
for c in self.factory.clients:
c.message(line)
def message(self, message):
self.transport.write(message + '\n')
from twisted.internet import protocol
from twisted.application import service, internet
factory = protocol.ServerFactory()
factory.protocol = MyChat
factory.clients = []
application = service.Application("chatserver")
internet.TCPServer(1025, factory).setServiceParent(application)
jedoch diese Anwendung als Twisted-Server laufen zu lassen, muss ich es über die „Twisted Eingabeaufforderung“ laufen , mit dem Befehl:
twistd -y chatserver.py
gibt es eine Möglichkeit, den Code (Satz Verdrehte Konfigurationseinstellungen usw.) zu ändern, so dass ich es einfach über laufen kann:
python chatserver.py
ich habe gegoogelt, bu Die Suchbegriffe scheinen zu vage zu sein, um aussagekräftige Antworten zu geben.
Danke.
Das war genau das, was ich gesucht habe. Danke vielmals. –
In neueren Versionen von Twisted sollten Sie normalerweise Endpunkte verwenden, anstatt die Reaktormethoden direkt aufzurufen. Ersetzen Sie in diesem Beispiel die Zeile 'listenTCP' durch. Dies ist flexibler, da Sie Endpunkte weitergeben können, ohne sie unbedingt zu starten. In neueren Versionen von Twisted wird es immer mehr Tools geben, mit Endpunkten zu arbeiten, also ist es ein bisschen zukunftssicherer. –
Glyph
Was ist mit der Bereitstellung dieses Pakets? Idealerweise möchte ich meinen Server nach der Installation in einem virtualenv mit einem einzigen Befehl starten. Wie wird empfohlen, Ihr Serverscript zusammen mit Ihrem Paket zu versenden? – Chris