RoadBuddy update
Meredydd <[email protected]>
| Newsgroups | gmane.network.everybuddy.user |
|---|---|
| Message-ID | <[email protected]> |
All right! I finally managed to get RoadBuddy working with a circuit-switched-data Nokia 3410. Woot! Unfortanately, this has come at a price. Because of that implementation's brain-dead inability to conduct more than one simultaneous HTTP session, the code in trunk/roadbuddy now conducts constant polling to determine whether there's any new data. Needless to say, this will bite GPRS connections pretty heavily, with a new HTTP request being made at least every ten seconds. I'm working on a solution to this, using the unofficial UDP support in some MIDP implementations. Eventually, I think I'll end up with three teirs of RoadBuddy, each identical except for the communications layer class: * RoadBuddy for minimal devices - polls, and uses only one HTTP connection at a time. Goes through an HTTP servlet gateway. Good for old phones with circuit-switched connections, if you can afford to pay for the call charges. Call plans with free WAP minutes are good for this :) * RoadBuddy for more advanced devices which support UDP. No polling necessary, although maybe a connection keepalive would be a good idea. Tricky as hell to implement, as I'd have to do my own data-coherence checking (in other words, reimplementing certain bits of TCP. No fun). Would require a gateway. * RoadBuddy for very advanced devices and MIDP v2.0 - would use TCP sockets directly to talk to a core, or maybe go through a tokenising gateway. Very easy indeed to implement - shame just about no phone currently on the market supports it, really. Palms do, but they suffer from heap problems. In any case, if you have a phone capable of Java (if it's advertised as supporting "Java", "downloadable games", "J2ME", or "MIDP", it can do it), or an Internet-capable Palm, and are willing to help me out, please do give me a bell. Meredydd