Originally Posted by loswilloz
Thank you Dan for that info, I must say it confuses me.
I understood that to open a socket connection over direct TCP, you must append "deviceside=true" to the end of the URL, as well as specify the APN info. So far I can still follow your statement.
But I also thought that it is possible to open a socket connection via MDS, by appending "deviceside=false" to the end of the URL.
Actually, I thought the above two ways would also hold true when replacing 'socket' with 'http'.
So if I am correct, then a socket connection does not equal a direct TCP\IP connection (since a direct TCP\IP connection can not connect to the internet via MDS, and a socket connection can in the mentioned special case).
I understand that this must be basic stuff for most of you out here, but the info on the internet and forums at least can seem contradictive for a noob at network connections as I am. Is there a very simple way to explain what is the right way to look at the terms 'socket', 'http' and 'direct tcp/ip', or does anyone know of an effective online document that explains this simply and clearly?
I have no direct experience with this, but I think I can explain the difference. Socket and TCP/IP are basically synonymous (at least in this case). HTTP is a higher level protocol that runs on top of TCP/IP (using socket port 80). HTTP is used to POST and GET data from websites.
Now, the Blackberry normally uses Mobile Data Service, which is basically a proxy server
(it also converts HTML into a simplified format that the Blackberry browser can render very quickly). A proxy server is something between you and the end server you are trying to connect to. So the Blackberry establishes a TCP/IP connection to the proxy server (MDS) which then opens up a TCP/IP connection with the server you want. It then relays the data back and forth to your phone. When deviceside=true is specified your BB will open the TCP/IP connection directly to the end server, bypassing MDS. So it's all still TCP/IP, and if you are pulling up web pages, then it is specifically HTTP via TCP/IP. It's just a matter of whether or not your phone is connecting directly to the server on the internet or not.