PC<->PPC application comms concurrently with GPRS conn - Windows Mobile Development and Hacking General

Hi,
I am trying to develop an application with both PC and Pocket PC components.
The PC and PPC need to exchange data whilst the PPC (eg XDA) has an active GPRS connection.
I first tried using evc and RAPI to allow the PC and PPC components to talk to each other. However RAPI relies on ActiveSync and it seems you cant have an ActiveSync connection to the PC (eg over USB) at the same time as a GPRS connection.
So
1)Am I right that ActiveSync at same time as GPRS is impossible? (And hence RAPI...)
2)What is the easiest way to do PC<->PPC comms without ActiveSync, on the widest variety of PPC devices?
3)Is there a way to do this without writing PC and PPC sides for all of
i) Bluetooth
ii) USB
iii) Serial
It seems like a lot of hardwork to reimplement all these, but some models have BT, some only USB etc etc
Any help appreciated...
Regards,
Giles.

hey,
im also trying to write some client -> server software for my mda/pc. Ive managed to narrow it down to two technologies (excluding activesync cos it needs to be portable)
- Web Services
- Client Server Model (tcpclient and tcplistener)
webservices are good as they will run on any net connection with port80 open, pretty fast and versetile but have some bad flaws. u need some back end data store (like a mysql database) as data is not persistant on then... also u cannot "push" from the server to the device (this may or may not be an issue)
the tcpclient model is starting to appeal to me in a number of ways. u can define your own light-weight protol (SOAP has a nasty habbit of bulking the objects out and GPRS costs!)... i started to write some little test apps and so far its looking good. Ive wrote a very tiny server that runs on windows and has a thin client running a threaded tcplistener and a mysql backend datastore. The test mobie simply constructs a tcpclient object and writes a string "hello world" to the port, which the server picks up and displays in a messagebox... so far this concept is working really well, and i have more control over the serialisation and communication of the objects and types.
i hope ive helped u in some way hehe
Will

Related

Activesync over GPRS - A fix remapping ip ports

I've been trying to get activesync to work with my desktop pc (which is on the net) for a few days now and it seems the main problem is that vodafone (and the others) block the required ip ports. The only reason they seem to do this is to force people to use other software or hardware (ie intellisync which uses other ports). This seems a bit unfair to me so I got to thinking. Move the ports that activesync uses to others which are not blocked. On the pc end this is easy (I used portmap - free software). Hoever, movi the port used by activesync on my xda2 hasn't been so easy.
Does anyone know how to either change the port activesync uses on the xda (either in a config file, hex edit???) Or does anyone know of a portmap type app that will run on the xda2? This way I can get this going (and vodafone can go to hell).
Regards,
Lyndon.
VPN?
You can easily by-pass the problem by using VPN. Give it a try...
cool - never thought of that. I'll give it a go.
Thanks

O2 Exec SSH Client

Hi,
I'm a webmaster and just bought my O2 Exec today and am so far very happy with my new toy! My main reason for buying this is so that in emergency situations wherever I am I can fix my servers which receive 10,000's of viewers per hour.
Can anyone recommend a good SSH client for my O2 Exec similar to putty on the PC?
Thanks,
Paul
O2 XDA EXEC SSH Client
Go for Pocket Putty http://www.duxy.net/~aleq/PocketPuTTY/PocketPuTTY_v0.1-preapha-0.53b.zip
is that one workin on wm5?
Tried that last night, programme loads but there is no ok button to connect to server. Also there was no way to specify a custom ssh port.
Any ideas what to do?
PocketPutty is working on WM5 however custom ssh port is not supported, also there is a lot of problems with emulation. So far I was unable to find working ssh client for PDA.
I use PocketPutty on my MDA Pro (HTC Universal) and I have no problems with it.
when the question comes where you need to tap on ok, just press enter on the builtin keyboard.
I would like to change the font used by PPutty, as the vga screen can show much more information thus making directory listings etc. much better readable.
Can you use custom ssh ports? All my servers use custom ports for security reasons.
No, I use standard ssh Port. too bad that the source code is not open source or I would change it myself
Tried on my Dpod 900 but failed to login. :evil: :evil:
vijay port a new wm5 version thanks =?)
Hopefully sometime soon putty will be converted to wm5 with custom ssh port support.
Hi Supafly
I do similar stuff to you and there are lots of products out there that just do not work. I need ping, ftp, tracrt, telnet, SNMP, Packet sniffer . But instead of supporting web servers I support Telecoms VOIP network with 24/7 cover.
The best for these that support ozVGA are the Cambridge products. Even though I gather they were built 6 years ago they just work without any problems at all on the universal. Some have been ported to PPC 2003. The telnet client is good in ozVGA as you get a full screen that can show the entire screen from most telnet apps.
Here is the link http://www.cam.com/windowsce.html
I did try pocket putty first but did not have much sucess with it. If any one has a better suite of products that work well I am all ears.
Cahrlie
http://www.dejavusoftware.com/pocketty/ works well for me, it can run in VGA with any of the VGA hacks, and lets you choose any font you have as well as screen width/height. It also does all the encryption stuff properly, that a lot of clients dont bother with. Port tunneling etc too.
The screen sometimes goes half size, but you can fix that by opening and closing the onscreen keyboard.
Courier new with font size 6 gets you the full terminal window on your screen, and its readable nicely in VGA mode.
supafly said:
Can you use custom ssh ports? All my servers use custom ports for security reasons.
Click to expand...
Click to collapse
That pocketty program supports custom ports as well.

How to Send String Message to XDA Application. HELP!!!!!!!!!

hi, my dear friends
I am a freshman to XDA dev, I am using ms vs2003 to develop an application on XDA II.
The application is about dispatching a job to a driver's XDA, the senario likes the following: (1) The dispatch server sends a job to driver's XDA thru GPRS. (2) The driver then view the job on the XDA application and Accept it.
The question is how to send a job from the server side to an XDA application, what need I to do with the server programs and what need I to do with the XDA applications? Do we need some develop toolkit from the SP?
Thanks in advance, your suggestion and help are very appreciated!!!
If your network gives you an ip that others can see from outside then you just need to write a small server on your xda using sockets to accept the messages over gprs. Unfortunately, most phone networks do not do this. I think the easiest thing for you would be to make it sms based.
Otherwise you could make a page on your (pc) server and have your xda check it at regular intervals to see if any new jobs are there. The down side of this is the cost of all that checking.
Thanks ORD for you help.
Re: If your network gives you an ip that others can see from outside then you just need to write a small server on your xda using sockets to accept the messages over gprs. Hi ORD, do you mean the Public IP for each XDA phone? Do you know if the SP O2 in British provides this kind of service?
Thanks again!
I don't know what you mean public address? The phone network will have a server address and your phone will get assigned a client address. I can't tell about o2 as I only have tried vodafone in Australia. I think that most IP's given are only useful from within the private network of the provider. I am no expert with the internet, but I think if the ip starts with 10.XXX.XXX.XXX its no good. Perhaps if you post the first half of your IP some of the other network wizez here can tell you if its accessible from outside.
Even if your ip is good, it probably would not be static so I think its not worth the effort. Still... if you go that way, the implementation of sockets on ppc works 100%. In fact I have cut and pasted code straight from ppc apps to desktop apps and had no problems!
Why not just have your phones connect as clients to a small custom coded server on your pc periodically. You could streamline the transmition to only transfer as few bytes as possible each time. The only time a large transfer would be needed is when a job is accepted and the details are needed. my network charges by the kilobyte and when i transfer in only the tens of bytes it dose not even register it on my bill (i don't know how big the handshake is).
Thanks, ORD, yes, we can check the server every XX seconds, the only thing I am worrying about is if I have more than 1 thousand XDA units to connect and check the server, if the server can afford to this load?
This sound like a real world problem you have (like taxis?). If you want the best solutuion (ie sending jobs to xda's) start checking the service providers. 1000 units is a lot. I think there must be a carrier out there willing to provide
usefull addresses. Also try connecting two devices from within the same network. If all your devices are within the same private network they may be able to communicate. You PC server could be connected to the internet via a gprs card and send out jobs to all the xda's within service provided by the same carrier. I have been wanting to try this for a while but I do not have two gprs connections with the same provider.
I have a couple of small apps that may help you test this if you have multiple gprs connections with the same provider.
The following is a ppc program to attempt to connect to another one of itself over a network using sockets:
http://odeean.veritel.com.au/serv/testSocketServer.exe
the next program is for the PC so you can show that the program at least works in the direction of ppc to pc via gprs then internet:
http://odeean.veritel.com.au/serv/ORDsocketUserPC.exe
Do the following:
-Turn on your internet connection and gprs
-On your pc run the ORDsocketUserPC.exe
-to simplify things just turn off any firewalls etc (my app dose nothing bad, but sometimes even if you open a port, firewalls cause it to fail)
-On you xda run testSocketServer.exe
-On the pc server function side enter the desired port details. Because you are first testing if it works at all change the ip to 0 as this causes it to listen for all incoming ip's in my app.
-On the pc server side press listen
-On the xda set the port on the client side to the same as on your pc. Enter the pc's ip (ie from your connection status).
-On the xda press connect
-Now the xda should attempt to connect. It says waiting to read when connected at first
-Now on the pc it should say blocking-listening with some code.
-Two way data transfer is now possible. The desktop version is self explanitory. The ppc version has a lack of screen space so to elliminate some buttons I replaced the get button with ..... make data edit box clear, press send, this generates a dialog with the read data so far.
-This is only a very raw app some things malfunction but I get reliable two way communication. If something goes wrong just close the program and start again.
If all that works you are ready to test the ppc to ppc connection. Make sure you get gprs on each from the same provider run the testSocketServer.exe on both xda's at once. One with server side only and one with client side only. In the client enter the ip of the server (my app dose not find this for you - you may need some third party program for this), make sure the server ip was set to 0 before you press listen.
Please post to tell if it works within the same network as I am very interested. If it dose your problem is solved, otherwise I see no way to help because of the volume of units to communicate to.
Thanks ORD, it is too complicated for me, frankly. Can I push an email to the XDA then let the driver knows that he has a job? He can click an button to request the job. The question is how to push an email to the XDA unit.
Sorry, I can't help with emails.
Its a pitty you could not try it. If anyone else cares to try gprs device to device communication with both ends within the same phone network I am still interested in the result. I just do not want to get yet another sim. vodafone sales people in Australia do not seem to understand their own network and I have wasted enough money buying products from them that do not do what they claim.
Sending of string message over O2
Hi ORD!
Im interested in this and I am using a VPN approach to get both of the devices talking!
I am using your programs but I also wish to view the source code on how u coded this, as when I click connect I recieve an error stating the socket is not writable??? I think it doesnt even start the 3G/GPRS service on the XDA? Could you send me the code?
If it does start GPRS in the background i do apologise!!! But Im uncertain that this is the case!
Thanks!
AJ.
possible solution
All pockets pcs are using private internet addresses, i.e. they can access other external sites, but no one can directly access them as no external connections are allowed to access them without the XDAs initiating the connection.
So all of your 1000 xdas initiate the connection and connect to a central server (on server use asyncrhonous sockets for scaleability).server should be able to handle this easily.
when a job is ready for dispatch the server simply sends it to the appropriate XDA(possible because that XDA initiated the connection, so the phone operator will allow it through their firewall).
No polling needed on the XDA, just the need to monitor the connection and keep it open to the server.
XDA to XDA commmunication. Easy. The server acts as an intermediary.
Imagine XDA1 (vodaphone) wants to talk to XDA2(02) and both are on different networks. They cannot talk directly to each other.
XDA1 sends it message to the server already connected. The server (with a connection already set up) forwards it on to XDA2.
XDA2 replies back to the server, which then forwards it to XDA1.
The server acts as a gateway between the two networks and is able to do so because it is XDA1 and XDA2 initiateed the connection to the server.
For a more technical explanation of how private IP address are assigned by phone operators read up on NAT (Network Address Translation).
This solution would also work if both XDA1 and XDA2 had public IP addresses. All logic can be kept on the server and there is no need for XDA1 to find XDA2s public IP address, which with a 1000 XDAs could become messy very quickly.
cheers
Steve Jubb
I posted a response to this thread that ended up in its own thread.
Please read this: http://forum.xda-developers.com/viewtopic.php?t=55255

Looking for administration software.

I just bought 32 HTC Wizards (Qtek 9100) for my company, now i'm looking for some software for administration of the PPC over GPRS.
Is anyone familiar with such software?
No one?
what kind of administration software are you looking for?
What kind of administration tasks were you thinking of doing over GPRS???
PocketPuTTY for SSH1/SSH2/TELNET access to linux/windows based systems.. Should work over GPRS, although I have never tried it.
For Windows admin I would probably use VNC, the clients I've tried are, "z2 remote 2 pc" and "realVNC" .. I find the first better due to its zooming function, but I am totally unsure if it works over GPRS, I'm pretty sure it has an option to connect via GPRS so you might be lucky !
There is also Terminal Services which comes installed on your PPC anyway
hope that helps somewhat..
I'm looking for something like VNC, but wasn't able to find any were the server side, would run on PPC. And what I know of, the z2 Remote2PC can't run as a server on PPC. Or just remote configuration. the gprs is a must, becourse the ppc's are in motion all the time, and always connected.
Ah I see what you require now, you want to remotely connect TOO the PPC's not from them.. Well, there is software that allows you to do this, it is unlikely it will work how you wish. GPRS provides the following services..
* Point-to-point (PTP) service: internetworking with the Internet (IP protocols) and X.25 networks.
* Point-to-multipoint (PT2MP) service: point-to-multipoint multicast and point-to-multipoint group calls.
* Short Message Service (SMS): bearer for SMS.
As far as I can tell PtP is used for Internet connectivity, but as far as dialing INTO that I would doubt it to be possible, even if the devices had constant WIFI access it would be pretty hard based on the number of devices that would need to be contacted. Although these are simply assumptions.

Crossbow - Remote Desktop Mobile

Finally Microsoft have got their act together and provided a pretty good RDP client.
Crossbow's client is much better than previous versions offering friendly full screen support with which it is simple to toggle betweet RDP Mobile and other applcations.
(On a Full screen RDP session just press the Ok button to be presented with a Yes/No box offering to disconnect, selecting NO will leave the session intact and just , move it to the background without needing to logon again.)
Also from a fullscreen session just hit either of the buttons mapped to the softkeys to toggle back to windowed mode (Start bar visible).
Encrytion has been improved as RDP mobile nolonger requires the connection to be downgraded to Client Compatible.
I'm not forgetting the other documented features such as a coice of 256 Colours or High Colour (16 bit) and the ability to map audi from the server to the PPC.
Considering VJ's excellent VJFSTSC app was usually one of the first things to be installed after a rom upgrade I'm glad Microsoft have made their client not just usable but they have provided a long overdue (No change between 2003 & WM5) overhaul.
Taking things a little further I was surprised that Nyditot's Virtual Display works on Crossbow and the RDP client will allow a 800x600 screen (probably any res you choose) provided that the Fit to screen option is used.
Taz, I was slow to update VJFSTSC because I 'had a feeling' about remote desktop.. I don't know if there's any point continuing with my app, but I can think of some improvements to the new client, so maybe I can move in a different direction.
Many thanks for the review though. How do you find performance?
V
Try to get remote [email protected] 16 colors.
And now for a couple of pprblems with the new RDP Client
Hopefully these will be addressed by Microsoft before Crossbow/WM6 is officially released.
1. Remote Desktop Mobile will nolonger initiate a VPN through the Exceptions list within the Connections' settings. If you need to connect through a VPN you now need to connect to a VPN manually before connecting through Remote Desktop Mobile.
2. The auto fill for the Computer you wish to connect to can be a little awkward.
Once a few computers have been added, trying to connect to an additional computer with a similar name/IP to one already cached can result in RDM automattically filling in the details of a prev entered computer.
Trying to delete part of the pre-empted details results in the whole field being emptied but as you start to type the computer details again the autofill adds a previously entered computer again. The workaround is to enter the new computer name in one of the other fields and cut/paste it into the 'Computer' field.
VJ if you are considering a VJRDM application here are a few suggestions.
1. Maintain a list of computers & credential within your own application so that selecting which computer you wish to connect to will automatically launch RDM and connect to the required computer.
2. Include an option to automattically choose the Internet/Work connection and if your own database of details is maintained, allow these settings to be saved alongside the Username,Password, Domain and other settings.
3. The ability to program a WM device's hardware keys for CTRL, Esc, Alt and other Windows functions whilst using RDM without needing to reprogram these keys at the device level would be excellent
(ie launch VJRDM and the E-mail key becomes CTRL, Home becomes ALT but only whilst VJRDM is active. Whilst using other applications these keys retain their original function.)
4. Finally an option to temp disable push e-mail whilst connecting over a VPN would be handy as it would save activesync closing the VPN connection eveytime it tries to connect and shutting down the VPN.
Even with the above couple of problems DRM is far better than the terminal service client.
Does anyone know of a small application to launch a VPN without having to wade through the Connections' settings?
onlineemails I was about to suggest setting the colour depth on the server but it appears that XP and 2003 have a min depth of 8 bit (256 colours)
Hi all, is it possible to copy all the files from WM6 RDM on to a WM5 Universal, therefore being able to use the more advanced RDM on WM5?, as RDM is the ony reason i would upgrade to WM6.
Thanks
Does anyone know the file names for Remote Desktop in Crossbow?
Hi,
I am looking for a better Remote Desktop client for WM5 on my HTC Hermes.
With screen resolution setting...
Unfortunately I couldn't find anything useful.
Maybe I could use the new client from WM6.
How can I find it ?
Can anyone who has WM6, send it to me please?
Or maybe you can suggesta good client for WM5 ?
Thanks
can remote desktop be used when the universal is not connected to a home network, but through the internet with gprs/umts??
i havent got logmein working with crossbow yet :S
logmein works for me. I'm using Midgets vanilla rom at the mo.
stupid me... it does work with IE, just not with opera :$
can I use higher res than 640*480? my school's term server is requesting a minimum resolution of 800*600...
is there anyway to get wm6 remote dsektop in wm5?
i had my brother forward port 3389 from the network server to my pc and now the remote desktop works perfect with the gprs/umts connection
way better then LogMeIn

Categories

Resources