[Twisted-Python] twisted and gprs networks
exarkun at divmod.com
Sun Jan 7 11:59:50 EST 2007
On Sun, 07 Jan 2007 11:41:52 +0000, John Aherne <johna at johnaherne.co.uk> 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.
>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.
>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 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.
It's not totally clear to me what you're after. Perhaps you could define
some terms. What is a "session"? What kind of sockets are involved? What
does it mean to "hold a reference" to an IP/port?
If I try to guess at the answers to these questions, then it sounds like
a pretty straightforward problem involving multiple connections, which is
easily enough handled in Twisted.
More information about the Twisted-Python