Blackberry アプリで次の問題が発生しました。
一部のユーザーは、2G/Edge ネットワークを使用している場合、(TCP ソケットまたは HTTP のいずれを介しても) サーバーに接続できません。ただし、3G/WiFi を使用している間は正常に接続できます。
2G/Edge ネットワークの障害は、ネットワークを開始する前にアプリが SMS を送信し (これはここでのワークフローに不可欠です)、2G/Edge ネットワークが SMS 送信によって干渉/中断されたためではないかと考えています。しかし、私たちの側で問題を再現することはできず、クライアントは私たちから遠く離れています。
誰かが以前に同様の問題を経験したことがあるのだろうか?
ソケット接続を開く方法は次のとおりです。
private static int[] preferredTransportTypes = {
TransportInfo.TRANSPORT_TCP_WIFI,
TransportInfo.TRANSPORT_TCP_CELLULAR, TransportInfo.TRANSPORT_WAP2,
TransportInfo.TRANSPORT_WAP, TransportInfo.TRANSPORT_BIS_B,
TransportInfo.TRANSPORT_MDS, };//
public SocketConnection getConnection() throws IOException {
String serverUrl = "socket://" + Adaptor.getInstance().monetUrl + ":"
+ Adaptor.getInstance().monetPort;
ConnectionFactory connFactory = new ConnectionFactory();
connFactory.setConnectionTimeout(5000);
connFactory.setTimeoutSupported(true);
connFactory.setPreferredTransportTypes(preferredTransportTypes);
ConnectionDescriptor cd = connFactory.getConnection(serverUrl);
SocketConnection sc = (SocketConnection) cd.getConnection();
return sc;
}