[Twisted-Python] twisted and gprs networks

Phil Mayers p.mayers at imperial.ac.uk
Sun Jan 7 09:50:56 MST 2007

John Aherne wrote:
> I am looking at using PDA devices talking to a server over gprs.
> I need to push data to the PDA over elapsed timeframes that might be 
> hours. Naturally during this timespan the device may have been dropped 
> from the network or acquire a different IP address.
> However to push data to the PDA, I need to record the IP and port used 
> by the PDA for its first contact since it is stuck behind a firewall.

Those two paragraphs seem, to me, to be contradictory. The IP might 
change, but you need to know the IP?

> The socket needs to be kept open on the PDA so the server can keep 
> responding on the same session over a period of time.

Sessions need not be tied to a particular transport layer connection. 
HTTP applications commonly deploy sessions (for example, using cookies) 
that span multiple transport layer connections.

> Using straight sockets I can do this by holding the reference to the 
> IP/port used by the PDA. And checking every now and then that the 
> connection is still valid. But I am no comms expert and I need to keep 
> track of over 100 devices and keep reliably sending messages to them at 
> random intervals.
> So, I thought it might be better to use some framework for the server 
> since I am no expert on sockets.
> But looking through the docs for twisted and some of the code, I can't 
> see anywhere how I can get and use a reference to the port and reuse the 
> open session on the PDA.
> Can I do this with twisted or should I look for some other way of doing 
> what I want.
> I was thinking I could use irc with twisted but not sure if I am barking 
> up the wrong tree.
> Thanks for any ideas of solving the problem.

You haven't defined the problem well enough for me to suggest a specific 
solution, but Twisted can do all of the things above.

Could you give a bit more detail on what you want to achieve?

More information about the Twisted-Python mailing list