On Wed, 31 Oct 2007 08:41:10 +0100, Nitro email@example.com wrote:
I wrote a pb application which also uses udp sockets. It works nicely. Now there's the situation where client and server are both located on the same machine. This means I could just connect to localhost and everything works. Unfortunately some firewalls warn about connections. I want to avoid this. So I thought about replacing the transports in pb with pipes instead of sockets if the server and client are both on the same machine. I'd have to do the same for my custom udp solution. Doing it for my custom udp code is easy, but how do I do this with pb? Do I just have to create some kind of reactor.createPipe() thing or is there more to it?
Since you're concerned about firewalls warning about connections, I'm guessing you're thinking about Windows. In that case, you can't use IReactorUNIX and IReactorUNIXDatagram, which would perhaps meet your use case (although for all I know, some firewall software warns about UNIX connections).
There is no support for communicating over arbitrary pipes in Twisted. There is incidental support for communicating with pipes connected to another process created with reactor.spawnProcess, but the process API is not the same as the IProtocol API.
In general, using pipes will lessen performance anyway.