views:

213

answers:

2

I'm about to develop an application for blackberry that transport some data through a native socket connection to a server. This can be done easily in Java but I was told the issue with this approach is that most blackberries have some sort of restricted internet access and that the socket connection would not work.

Is this true? Typically a blackberry bought from a store in North America with a data plan, do they have unrestricted access to the internet (in terms of ports etc)?

+2  A: 

Unfortunately that is a carrier dependent issue. I know, for example, that Rogers Blackberries have the access you are looking for, where the Bell Blackberries I've worked with don't.

Richard
Can you give a little bit more details, for example Bell Blackberries don't because of what? They are using BIS access only land no APN access or something?
erotsppa
Bell CDMA devices I have experience with have no APN facility so you are limited to BIS/BIS-B/BES.
Richard
I find that suprirsing, so you are saying a large % of blackberry users basically cannot use internet apps which basically renders a lot of stuff from the AppWorld useless?
erotsppa
I think you're missing the point. Direct TCP access is not the preferred method of accessing the Internet with a Blackberry. Each carrier may (and probably do) have different APNs, some (like Rogers) have many, making correct configuration problematic for a developer. The supported, and portable, access method for socket access is BES or BIS-B. If you can't, or won't use those methods the next best is using HTTP semantics over BIS. This actually works very well, especially in a mobil, random connection state context.
Richard
Bohemian
That, or you can choose to only support properly provisioned devices by using default HTTP connections, or BIS-B by becomming an aliance member.
Richard
What do you mean default HTTP connections? And what is HTTP semantics over BIS? Can I choose to support only devices that can use the TCP/IP stack?
erotsppa
If you open an HTTP connection with no path selectors the device will use BES if it is activated on and Enterprise server, BIS if it is not. Of course if it doesn't have BES or BIS service this will fail. The communication must use HTTP, between the device and the MDS-CS server (either BES or BIS) the protocol is proprietory and closed, the MDS-CS server will establish the HTTP connection to the final server. So you have to use HTTP GET/POST (semantics) to communicate with the server. You may support what ever devices you wish.
Richard
You have alread been provided all of this information: http://www.blackberryforums.com/developer-forum/213141-about-start-bb-development-but-unsure-about-socket-access-available.html
Richard
I mean this is still hard to believe, a simple developer that wants to write for the AppWorld that requires TCP connectivity will either have to be an alliance member ($$) or risk it not working on 90% of the devices?
erotsppa
I think your figure of 90% is somewhat pessimistic, but if you insist that you need TCP connectivity then yes. I don't know what is so hard to believe. The benefits of Blackberry over other smartphone technology arise from the way communications are handled, which is significantly different than iPhone, Android, Windows Mobile, etc. For example, an APN app (on whatever hardware) may not work when roaming unless the user or app adapts to the carriers' APNs. A BES/BIS-B app will work anywhere Blackberry service is available. If you start by working against the tech, you will be frustrated.
Richard
A: 

If you want a good introduction that clarifies what is available check this out http://www.blackberry.com/DevMediaLibrary/view.do?name=network

D Yashkir