11-03-2009 02:26 PM
I have developed a simple tracking application for my BlackBerry 8820 running v4.5.0.174 (platform 2.7.0.105) developed under Eclipse using the Eclipse Plug-in Component Pack 5.0.0.7. Running on the Orange UK network. I have my APN set to “orangeinternet” with a ‘blank’ user id and password.
It has been running fine since end of June, connecting to my server.
On my server I have a simple listener (on port 55555) which received a text string sent from the BB, parses it sends it to the JBoss Application Server where processing starts.
On Saturday 31st October @ 10.20 (GMT) my server stopped receiving the data from the BB. No exception has been thrown on BB. The listener is just sitting there waiting and listening.
I’ve added some debugging statements on the BB app and no exception is thrown.
To connect to my Server I call;
socketConnection = (SocketConnection) Connector.open(URL);
URL is “Socket://217.174.251.19:5555”
I f I print the address using;
log("Address: " + socketConnection.getAddress() + ":" + Integer.toString(socketConnection.getPort()));
I get;
Address:192.168.71.35:55555
Which is the Orange UK WAP MMS GPRS setting?
So it appears to be leaving my BB okay.
Orange support won’t help any further as I have an internet connection from my BB and email is working!
By the way, using a Java SE client I can send a test data to my Server, which is received and processed, so I am sure that is all still okay. I can also Ping it.
Any suggestions what to look for?
Thanks.
Solved! Go to Solution.
11-03-2009 02:41 PM
This is a long shot.
But could it be that Orange UK network changed its policies regarding allowing connections to non-standard port numbers?
To test you could trying running your service on port 80 and check if it works.
11-03-2009 02:44 PM
So, what error(s) are you getting on that BlackBerry?
11-03-2009 03:33 PM
Also can you confirm the full URL you are using, including the connection suffix you are adding.
11-03-2009 04:42 PM
I'm getting no errors or exceptions on my BB. Just continues to "send" the data.
To connect I use (and have been doing since June);
private static final String URL = "socket://217.174.251.19:55555"
11-03-2009 05:17 PM
Probably would not hurt to resend the service books, if you have not already done this.
11-03-2009 05:49 PM
Resent the Service Books, made no difference.
11-03-2009 06:30 PM
"continues to send the data..." Do you mean that OutputStream.write blocks forever or that OutputStream.write + flush() succeed but nothing is received on the server-side?
Do you have another thread reading from the connection at all times (in a loop)? If not, then how do you know whether the data were actually sent?
Lastly, I'm not sure whether you are trying to use Direct TCP or WAP. If you want to use Direct TCP and thus the APN settings you've mentioned earlier, you should append ";deviceside=true;connectionhandler=none" to the Connector.open URL to explicitly request Direct TCP. If you are trying to use WAP 2.0 TCP, you need to append ";ConnectionUID=<WPTCP SB record UID here>" to the Connector.open URL, where WPTCP SB record UID is the UID of the carrier's WPTCP transport Service Book record.
11-04-2009 03:02 AM - last edited on 11-04-2009 04:53 AM
Lastly, I'm not sure whether you are trying to use Direct TCP or WAP. If you want to use Direct TCP and thus the APN settings you've mentioned earlier, you should append ";deviceside=true;connectionhandler=none" to the Connector.open URL to explicitly request Direct TCP.
Added "deviceside=true;connectionhandler=none" and it's working again!
Many thanks for your help.