2017-01-03 5 views
3

Dies ist Echoclient-Code, der mit Echoserver kommunizieren:Kommunikation zwischen Server zu Server in Twisted

from twisted.internet import protocol, reactor 

class Echo(protocol.Protocol): 
    def dataReceived(self, data): 
     self.transport.write(data) 

class EchoFactory(protocol.Factory): 
    def buildProtocol(self, addr): 
     return Echo() 


reactor.listenTCP(8000, EchoFactory()) 
reactor.run() 

Diese echoserer ist:

from twisted.internet import reactor, protocol 

class EchoClient(protocol.Protocol): 
    def connectionMade(self): 
     self.transport.write("Hello, world!") 
     def dataReceived(self, data): 
     print "Server said:", data 
     self.transport.loseConnection() 

class EchoFactory(protocol.ClientFactory): 
    def buildProtocol(self, addr): 
     return EchoClient() 
    def clientConnectionFailed(self, connector, reason): 
     print "Connection failed." 
     reactor.stop() 
    def clientConnectionLost(self, connector, reason): 
     print "Connection lost." 
     reactor.stop() 

reactor.connectTCP("localhost", 8000, EchoFactory()) 
reactor.run() 

Above echoserve und Echoclient miteinander kommunizieren, aber ich möchte Server Serverkommunikation, also hier kommt anderer Echoserver und kommuniziert mit dem ersten Echoserver.

Antwort

0

Sie müssen einen Proxy-Client erstellen und an einen der Server anhängen. Und über den Proxy-Client mit dem anderen Server kommunizieren.

Verwandte Themen