[Twisted-Python] Re: writing back to the connection is blocking my code
Drew Smathers
drew.smathers at gmail.com
Fri Mar 21 10:15:21 EDT 2008
On Fri, Mar 21, 2008 at 8:50 AM, coder_gus <coder_gus at lavabit.com> wrote:
> How can I send it back to them
> (having a reference to each client's protocol class) without receiving
> data, client connecting etc. ?
1. Without receiving data
This is simple. When a client connects, your protocol can capture
the connection event with connectionMade method on the protocol.
That's when you'll likely store a reference to the protocol instance
on the factory. If you need to write back to the connection at a
later time, simply call write on the protocol's transport. For
example, a chat server might do something like this:
for c in self.chatters:
c.transport.write(msg)
I'm guessing that your concern is that write is going to block. It's not.
2. Client connecting
The client has to connect first - unless you are writing an
application where each participant in the system is known up front -
and you can establish connections with them (no firewalls).
I would suggest rereading these documents carefully - they should
really cover your questions:
http://twistedmatrix.com/projects/core/documentation/howto/servers.html
http://twistedmatrix.com/projects/core/documentation/howto/clients.html
Otherwise, you should provide a more detailed explanation of your use case.
--
\\\\\/\"/\\\\\\\\\\\
\\\\/ // //\/\\\\\\\
\\\/ \\// /\ \/\\\\
\\/ /\/ / /\/ /\ \\\
\/ / /\/ /\ /\\\ \\
/ /\\\ /\\\ \\\\\/\
\/\\\\\/\\\\\/\\\\\\
d.p.s
More information about the Twisted-Python
mailing list