服务器与服务器之间的通信扭曲

这是与echoserver通信的echoclient代码:

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()

这是回应者:

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()

以上echoserve和echoclient彼此沟通但我想要服务器到服务器通信,所以这里其他的echoserver来了并与第一个echoserver沟通.

最佳答案 您需要构建代理客户端并将其附加到其中一个服务器.并通过代理客户端与其他服务器通信.

点赞