徹底的にグーグルした後、私はついに私の問題を投稿することに決めました。それは本当に私に悪夢を与えています。
私のアプリでは、ネットワークキャリアインターネットを使用し、次の接続文字列を使用してTCPサーバーに接続しようとしています。
url = "socket://" + ip + ":" + port + "; deviceside = true; connectionTimeout = 30000; apn =; tunnelauthusername =; tunnelauthpassword =;";
携帯電話のブラウザからインターネットに接続できますが、アプリからTCPサーバーに接続できません。
私のデバイスでは、APN認証はデフォルトで無効になっており、APN、Userid / Passwordフィールドは空白です。そのため、これらのパラメーターを接続文字列で空白値として取得しました。
以下の文字列を使用してwifiネットワーク経由で接続しようとすると:
url="socket://"+ip+":"+port+";deviceside=true;interface=wifi;connectionTimeout=30000";
サーバーに接続できますが、APN経由では接続できません。
私を助けてください。
私はここで立ち往生していて、逃げ道を見つけていません。
ありがとう
サーバーに接続するには、さまざまな方法があります。設定した接続サフィックスで使用するメソッドを指定します。接続サフィックスで使用できるオプションは、BBKBの記事に記載されています。
本当に古い電話(OS 5.0より前)をサポートしている場合、これが唯一の選択肢です。ただし、これの秘訣は、リクエストを行うときに、デバイスでどの接続方法が機能するかを把握する必要があることです。これを行うためにインターネットの周りにたくさんのコードが浮かんでいますが、そのほとんどは疑わしいものです。
OS 5.0以降の場合は、より高度なAPIであるConnectionFactoryを使用してこれを簡単に行うことができ、OS6.0ではさらに高度な機能を使用できます。これらはすべてBBJavaマイクロサイトに文書化されています。ここを参照してください。
使用しているオプションはGCFフレームワークです。OS 5.0以降のみをサポートしている場合は、「ネットワークAPI」を調査することをお勧めします。「レガシーOSの代替ネットワークAPI」を調査することもできます。
これは、「ブラウザが接続でき、アプリに接続できないのはなぜですか」というよくある質問には答えられません。これは、ブラウザがBIS-Bと呼ばれる特別なBlackBerry接続方法を使用しているためです。BIS-Bの良いところは、BlackBerryの料金が設定されているBB電話で機能し、設定が不要なことです。悪いことは、あなたが正しい時点でそれにアクセスできないことです。アクセスするには、すぐに使用する予定はないが将来的に使用する可能性がある場合でも、プッシュサポートを依頼するのが最も簡単な方法です。これは上のページに記載されています。
しかし、あなたの質問に戻りましょう。TCP構成のAPN値が設定されていないからといって、設定する必要がないわけではありません。オプションで指定された値は、誰かが接続文字列として「; deviceside = true」をコーディングした場合のデフォルト値として使用されます。つまり、ユーザーはこれらを自分で設定でき、アプリケーション開発者は何もコーディングしません。これらの値は、キャリアに固有です。したがって、使用する必要のある値を検索して見つけてください。これらの値をTCPオプションに入れる(したがって、接続サフィックスにコーディングしないでください)か、接続サフィックスに入れます。そこに何を入れるべきかわからない場合は、運送業者に問い合わせる必要があります。
ほとんどのBlackBerryの料金では、APNを介して直接TCPを使用すると、ユーザーにデータのコストがかかる可能性があり、構成も必要になります。または、WAP 2を使用することもできます。これもデータのコストがかかる可能性がありますが、構成は必要ありません。これらの両方の利点は、BlackBerryの料金を使用していない電話で動作することです。
ConnectionFactory(Network API)を使用した接続を検討することをお勧めしますが、これはOS5.0以降でのみ機能します。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加