On Feb 2, 2011, at 12:15 AM, Kurt Spindler wrote:
Second question is that, in that other bunch of code, I need to be
able to write things to the socket. How can I access the instance of
my protocol subclass that is used by the factory, so I can make
protocolInstance.transport.write type calls? Or am I thinking about
this is a completely wrong way?
This may be my favorite FAQ answer:
http://twistedmatrix.com/trac/wiki/FrequentlyAskedQuestions#HowdoImakeinputononeconnectionresultinoutputonanother
You're not specifically asking that question, but the salient point is:
"These are just regular Python objects; you can put them into lists,
dictionaries, or whatever other data structure is appropriate to your
application"
You can access connected protocol instances using something like the
pattern in that FAQ. Just keep a reference to the factory instance
somewhere in your other code and access whatever data structure you
choose to store the protocol references. MultiEchoFactory has a list
of connected protocols ('echoers'). You could just keep one connected
instance. Or a dictionary keyed by ip address, session id you
generate, etc.
One other note... how you end up integrating with whatever GUI you are
using may impact your use of Twisted APIs (i.e. transport.write).
See
http://twistedmatrix.com/trac/wiki/FrequentlyAskedQuestions#WhydoesittakealongtimefordataIsendwithtransport.writetoarriveattheothersideoftheconnection
(gotta love that anchor!... http://bit.ly/gPvW7d)
_______________________________________________
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python