PC Review
Forums
Newsgroups
Microsoft DotNet
Microsoft Dot NET Compact Framework
Pushing data to a PDA over GPRS
Forums
Newsgroups
Microsoft DotNet
Microsoft Dot NET Compact Framework
Pushing data to a PDA over GPRS
![]() |
Pushing data to a PDA over GPRS |
|
|
Thread Tools | Rate Thread |
|
|
#1 |
|
Guest
Posts: n/a
|
Hi there,
My quest is to redevelop an application which sends jobs to engineers PDAs via sockets over GPRS. At the moment i use a pull method, it polls every 5 minutes for new data. I now want to be able to push data to my PDAs, however after looking into this somewhat i've learnt that GPRS provides (in the uk) issue local IP addresses which aren't public addressable. Ah, problem. I have heard that you can open a socket on the PDA which communicates with the server and that socket is held open so the server can send information back down that same socket as long as the client is connected. My sockets experience is pretty limited so i'm not exactly sure how to do this, would anyone have any examples or anything to point me in the right direction? Really appreciate any help on this. Many thanks Rob Saville |
|
|
|
#2 |
|
Guest
Posts: n/a
|
Maintaining an always-open socket is going to get really expensive. Stick
with polling unless the phone is already doing something similar (like getting email with direct push from exchange) in which case you could leverage that transport to notify the device that new data exists (kind of like the upcoming CF 3.5 WCF stuff does). -- Chris Tacke, Embedded MVP OpenNETCF Consulting Managed Code in an Embedded World www.OpenNETCF.com "Rob S" <RobS@discussions.microsoft.com> wrote in message news:361A9FE9-23E5-4D55-849F-B930658FA5B2@microsoft.com... > Hi there, > > My quest is to redevelop an application which sends jobs to engineers PDAs > via sockets over GPRS. > > At the moment i use a pull method, it polls every 5 minutes for new data. > > I now want to be able to push data to my PDAs, however after looking into > this somewhat i've learnt that GPRS provides (in the uk) issue local IP > addresses which aren't public addressable. Ah, problem. > > I have heard that you can open a socket on the PDA which communicates with > the server and that socket is held open so the server can send information > back down that same socket as long as the client is connected. > > My sockets experience is pretty limited so i'm not exactly sure how to do > this, would anyone have any examples or anything to point me in the right > direction? > > Really appreciate any help on this. > > Many thanks > Rob Saville |
|
|
|
#3 |
|
Guest
Posts: n/a
|
Hi Chris, Just out of interest why does it get really expensive? If it doesn't send any data across how does it run up the bill? We are currently looking at using a seperate APN with static IPs. Unfortunately the pull method is quite expensive as well as we're having to check for new data every minute or so. Any other good ideas? Thanks rob "<ctacke/>" wrote: > Maintaining an always-open socket is going to get really expensive. Stick > with polling unless the phone is already doing something similar (like > getting email with direct push from exchange) in which case you could > leverage that transport to notify the device that new data exists (kind of > like the upcoming CF 3.5 WCF stuff does). > > > -- > > Chris Tacke, Embedded MVP > OpenNETCF Consulting > Managed Code in an Embedded World > www.OpenNETCF.com > > > > > "Rob S" <RobS@discussions.microsoft.com> wrote in message > news:361A9FE9-23E5-4D55-849F-B930658FA5B2@microsoft.com... > > Hi there, > > > > My quest is to redevelop an application which sends jobs to engineers PDAs > > via sockets over GPRS. > > > > At the moment i use a pull method, it polls every 5 minutes for new data. > > > > I now want to be able to push data to my PDAs, however after looking into > > this somewhat i've learnt that GPRS provides (in the uk) issue local IP > > addresses which aren't public addressable. Ah, problem. > > > > I have heard that you can open a socket on the PDA which communicates with > > the server and that socket is held open so the server can send information > > back down that same socket as long as the client is connected. > > > > My sockets experience is pretty limited so i'm not exactly sure how to do > > this, would anyone have any examples or anything to point me in the right > > direction? > > > > Really appreciate any help on this. > > > > Many thanks > > Rob Saville > > > |
|
|
|
#4 |
|
Guest
Posts: n/a
|
The socket won't just "remain open" with no transmission - a keep-alive
packet must be maintained or it will get shut down automatically (that's how it knows it's not just some dead, unconnected socket sitteng out there). -- Chris Tacke, Embedded MVP OpenNETCF Consulting Managed Code in an Embedded World www.OpenNETCF.com "Rob S" <RobS@discussions.microsoft.com> wrote in message news:393368ED-FC88-47EE-BA74-BB547039637A@microsoft.com... > > Hi Chris, > > Just out of interest why does it get really expensive? If it doesn't send > any data across how does it run up the bill? > > We are currently looking at using a seperate APN with static IPs. > > Unfortunately the pull method is quite expensive as well as we're having > to > check for new data every minute or so. > > Any other good ideas? > > Thanks > rob > > "<ctacke/>" wrote: > >> Maintaining an always-open socket is going to get really expensive. >> Stick >> with polling unless the phone is already doing something similar (like >> getting email with direct push from exchange) in which case you could >> leverage that transport to notify the device that new data exists (kind >> of >> like the upcoming CF 3.5 WCF stuff does). >> >> >> -- >> >> Chris Tacke, Embedded MVP >> OpenNETCF Consulting >> Managed Code in an Embedded World >> www.OpenNETCF.com >> >> >> >> >> "Rob S" <RobS@discussions.microsoft.com> wrote in message >> news:361A9FE9-23E5-4D55-849F-B930658FA5B2@microsoft.com... >> > Hi there, >> > >> > My quest is to redevelop an application which sends jobs to engineers >> > PDAs >> > via sockets over GPRS. >> > >> > At the moment i use a pull method, it polls every 5 minutes for new >> > data. >> > >> > I now want to be able to push data to my PDAs, however after looking >> > into >> > this somewhat i've learnt that GPRS provides (in the uk) issue local IP >> > addresses which aren't public addressable. Ah, problem. >> > >> > I have heard that you can open a socket on the PDA which communicates >> > with >> > the server and that socket is held open so the server can send >> > information >> > back down that same socket as long as the client is connected. >> > >> > My sockets experience is pretty limited so i'm not exactly sure how to >> > do >> > this, would anyone have any examples or anything to point me in the >> > right >> > direction? >> > >> > Really appreciate any help on this. >> > >> > Many thanks >> > Rob Saville >> >> >> |
|
|
|
#5 |
|
Guest
Posts: n/a
|
Thanks Chris, i guess that's a no goer then. Appreciate the response. Rob "<ctacke/>" wrote: > The socket won't just "remain open" with no transmission - a keep-alive > packet must be maintained or it will get shut down automatically (that's how > it knows it's not just some dead, unconnected socket sitteng out there). > > > -- > > Chris Tacke, Embedded MVP > OpenNETCF Consulting > Managed Code in an Embedded World > www.OpenNETCF.com > > > > > "Rob S" <RobS@discussions.microsoft.com> wrote in message > news:393368ED-FC88-47EE-BA74-BB547039637A@microsoft.com... > > > > Hi Chris, > > > > Just out of interest why does it get really expensive? If it doesn't send > > any data across how does it run up the bill? > > > > We are currently looking at using a seperate APN with static IPs. > > > > Unfortunately the pull method is quite expensive as well as we're having > > to > > check for new data every minute or so. > > > > Any other good ideas? > > > > Thanks > > rob > > > > "<ctacke/>" wrote: > > > >> Maintaining an always-open socket is going to get really expensive. > >> Stick > >> with polling unless the phone is already doing something similar (like > >> getting email with direct push from exchange) in which case you could > >> leverage that transport to notify the device that new data exists (kind > >> of > >> like the upcoming CF 3.5 WCF stuff does). > >> > >> > >> -- > >> > >> Chris Tacke, Embedded MVP > >> OpenNETCF Consulting > >> Managed Code in an Embedded World > >> www.OpenNETCF.com > >> > >> > >> > >> > >> "Rob S" <RobS@discussions.microsoft.com> wrote in message > >> news:361A9FE9-23E5-4D55-849F-B930658FA5B2@microsoft.com... > >> > Hi there, > >> > > >> > My quest is to redevelop an application which sends jobs to engineers > >> > PDAs > >> > via sockets over GPRS. > >> > > >> > At the moment i use a pull method, it polls every 5 minutes for new > >> > data. > >> > > >> > I now want to be able to push data to my PDAs, however after looking > >> > into > >> > this somewhat i've learnt that GPRS provides (in the uk) issue local IP > >> > addresses which aren't public addressable. Ah, problem. > >> > > >> > I have heard that you can open a socket on the PDA which communicates > >> > with > >> > the server and that socket is held open so the server can send > >> > information > >> > back down that same socket as long as the client is connected. > >> > > >> > My sockets experience is pretty limited so i'm not exactly sure how to > >> > do > >> > this, would anyone have any examples or anything to point me in the > >> > right > >> > direction? > >> > > >> > Really appreciate any help on this. > >> > > >> > Many thanks > >> > Rob Saville > >> > >> > >> > > > |
|
|
|
#6 |
|
Guest
Posts: n/a
|
Hi,
What some people do (I'd be inclined to do this until the state-of-the-art improves to support "push"), is to use an SMS message from server to client to notify the client to "call-back" to get the real message data. This probably is the lowest cost mechanism. It also allows small messages to simply be included in the SMS, while retaining the full bandwidth to "pull" a large message, such as a database update. Dick -- Richard Grier, MVP Hard & Software Author of Visual Basic Programmer's Guide to Serial Communications, Fourth Edition, ISBN 1-890422-28-2 (391 pages, includes CD-ROM). July 2004, Revised March 2006. See www.hardandsoftware.net for details and contact information. |
|
|
|
#7 |
|
Guest
Posts: n/a
|
We currently use the SMS message method to update data on our device. We
implemented a MessageInterceptor with a messageCondition to indicate a retrieve data message has arrived (We used a specific code in the message body). We set the InterceptionAction to Notify and delete to prevent the user from having to process the message and on receipt of our message opened a connection and retrieved the data. Rick D. Contractor "Dick Grier" wrote: > Hi, > > What some people do (I'd be inclined to do this until the state-of-the-art > improves to support "push"), is to use an SMS message from server to client > to notify the client to "call-back" to get the real message data. This > probably is the lowest cost mechanism. It also allows small messages to > simply be included in the SMS, while retaining the full bandwidth to "pull" > a large message, such as a database update. > > Dick > > -- > Richard Grier, MVP > Hard & Software > Author of Visual Basic Programmer's Guide to Serial Communications, Fourth > Edition, > ISBN 1-890422-28-2 (391 pages, includes CD-ROM). July 2004, Revised March > 2006. > See www.hardandsoftware.net for details and contact information. > > > |
|
|
|
#8 |
|
Guest
Posts: n/a
|
This is a very interesting challenge. The only real effective and the low
cost way to enable "push" technology is to have your own leased line APN which does no NAT (network address translation) so you can actually see the device on your private network as no NAT occurs. This also implements a more secure infrastructure than using a public APN and much much more reliable. You do have a couple of other "issues". Even with a normal private APN, you will still have dynamic IP addresses on each device (the telecommunications provider allocates you a range) when it connects to the APN (not connected to sockets). Of course each time this connection goes down and you reconnect to the APN, you will get a different IP Address. This is unless you have static IP addresses as you suggested. But unless you have money to burn or have very few devices as this costs around £15,000 (or there abouts - Vodafone price) per IP address! so it is very expensive. How we handle the change in IP address is every time it changes - which is not that often, we send a message to our gateway which sends a message via BizTalk to our backoffice system. So we always know where the devices are. -- Simon Hart "Rob S" wrote: > > Hi Chris, > > Just out of interest why does it get really expensive? If it doesn't send > any data across how does it run up the bill? > > We are currently looking at using a seperate APN with static IPs. > > Unfortunately the pull method is quite expensive as well as we're having to > check for new data every minute or so. > > Any other good ideas? > > Thanks > rob > > "<ctacke/>" wrote: > > > Maintaining an always-open socket is going to get really expensive. Stick > > with polling unless the phone is already doing something similar (like > > getting email with direct push from exchange) in which case you could > > leverage that transport to notify the device that new data exists (kind of > > like the upcoming CF 3.5 WCF stuff does). > > > > > > -- > > > > Chris Tacke, Embedded MVP > > OpenNETCF Consulting > > Managed Code in an Embedded World > > www.OpenNETCF.com > > > > > > > > > > "Rob S" <RobS@discussions.microsoft.com> wrote in message > > news:361A9FE9-23E5-4D55-849F-B930658FA5B2@microsoft.com... > > > Hi there, > > > > > > My quest is to redevelop an application which sends jobs to engineers PDAs > > > via sockets over GPRS. > > > > > > At the moment i use a pull method, it polls every 5 minutes for new data. > > > > > > I now want to be able to push data to my PDAs, however after looking into > > > this somewhat i've learnt that GPRS provides (in the uk) issue local IP > > > addresses which aren't public addressable. Ah, problem. > > > > > > I have heard that you can open a socket on the PDA which communicates with > > > the server and that socket is held open so the server can send information > > > back down that same socket as long as the client is connected. > > > > > > My sockets experience is pretty limited so i'm not exactly sure how to do > > > this, would anyone have any examples or anything to point me in the right > > > direction? > > > > > > Really appreciate any help on this. > > > > > > Many thanks > > > Rob Saville > > > > > > |
|
|
|
#9 |
|
Guest
Posts: n/a
|
Hi Rob,
this is no problem at all. The PDA opens a socket to a server and keeps it open. The server tunnels the responses 'in real time' back to the PDA in the same socket. When no data flows no money is charged (GPRS, EDGE, UMTS etc). You can use a framework (http://www.xmlBlaster.org) which allows to do this with pure C code or with C#, or code it yourself. Using xmlBlaster has many more benefits for reliable J2ME or WinCE to server communication and is free for commercials as well. regards Marcel Hi there, > > My quest is to redevelop an application which sends jobs to engineers PDAs > via sockets over GPRS. > > At the moment i use a pull method, it polls every 5 minutes for new data. > > I now want to be able to push data to my PDAs, however after looking into > this somewhat i've learnt that GPRS provides (in the uk) issue local IP > addresses which aren't public addressable. Ah, problem. > > I have heard that you can open a socket on the PDA which communicates with > the server and that socket is held open so the server can send information > back down that same socket as long as the client is connected. > > My sockets experience is pretty limited so i'm not exactly sure how to do > this, would anyone have any examples or anything to point me in the right > direction? > > Really appreciate any help on this. > > Many thanks > Rob Saville |
|
![]() |
|
| Thread Tools | |
| Rate This Thread | |
|
|

Main Page 

