
Here's the code: from twisted.internet.protocol import ServerFactory, ClientFactory, Protocol, ClientCreator from twisted.protocols.basic import LineReceiver from twisted.application.service import Service, Application, IServiceCollection from twisted.application.internet import TCPServer, TCPClient from twisted.internet.stdio import StandardIO from twisted.internet import reactor import re class DnLinkProtocol(LineReceiver): def connectionMade(self): self.sendLine("Connected from: " + "host " + str(self.transport.getPeer().host) + " " + "port " + str(self.transport.getPeer().port) + '\n') def lineReceived(self, line): self.sendLine("DnLink echo: " + line + '\n') class DSPEProtocol(LineReceiver): def connectionMade(self): self.sendLine("Connected from: " + "host " + str(self.transport.getPeer().host) + " " + "port " + str(self.transport.getPeer().port) + '\n') def lineReceived(self, line): self.sendLine("DSPE echo: " + line + '\n') class PAPSExecService(Service): def getDnLinkInFactory(self): f = ServerFactory() f.protocol = DnLinkProtocol f.startService = self.startService return f def getDSPEInFactory(self): f = ServerFactory() f.protocol = DSPEProtocol f.startService = self.startService return f application = Application('PAPSExec') f = PAPSExecService() serviceCollection = IServiceCollection(application) TCPServer(9595, f.getDnLinkInFactory()).setServiceParent(serviceCollection) TCPServer(8585, f.getDSPEInFactory()).setServiceParent(serviceCollection) I would like that, for example, when data is received in port 9595 it will forward the data to another server in port xxxx. Where would I create a TPC Client connection? Where would I send the message? Edgar -----Original Message----- From: twisted-python-bounces@twistedmatrix.com [mailto:twisted-python-bounces@twistedmatrix.com] On Behalf Of Christian Simms Sent: Wednesday, June 20, 2007 11:01 AM To: Twisted general discussion Subject: Re: [Twisted-Python] Server/Client On 6/20/07, Delgado, Edgardo CIV NAVAIR 4.1.4.3 <edgardo.delgado@navy.mil> wrote: I would like to build a server that when it gets a message on a specific port it will "forward" that message to another port. I.e. "Server1" listens on port 10000. When it gets data on port 10000 it will forward the data to "Server2" listening on port 15000. Assuming you're using TCP, you could just create a server listening on a port using reactor.listenTCP(port, factory) as detailed here <http://twistedmatrix.com/projects/core/documentation/howto/servers.html
and when you receive a message you would create a client using reactor.connectTCP(host, port, factory) as detailed here <http://twistedmatrix.com/projects/core/documentation/howto/clients.html to then send the message.
Cheers, Christian