Javaを使用してJ2ME/BlackBerryでサーバーにpingを実行するにはどうすればよいですか?これは基本的なようですが、javadocsで見つけることができません。ありがとう。
2 に答える
pingではICMPパケットをホストに送信する必要がありますが、残念ながら、J2MEおよびBlackBerry APIでは、ネットワークを低レベルで制御することはできません。できることのほとんどは、エンドポイントへのHTTPまたはソケット接続を確立することです。
インターネットに接続できるかどうかを判断することが目標の場合、ソリューションはpingを送信する場合よりもはるかに複雑です。BlackBerryは、平均的なPCのような通常のIP接続ホストではないため、インターネット経由で何かに接続するために使用できるさまざまな基盤となるトランスポートがあります。これらには以下が含まれます:
- WAP 1.0(レガシートランスポート、HTTP'ishのみ)
- WAP 2.0(キャリアプロキシ、通常はHTTP、場合によってはソケット)
- MDS(BESインフラストラクチャを介したプロキシ)
- BIS-B(RIMインフラストラクチャを介したプロキシ。BBアライアンスパートナーのみが利用可能)
- ダイレクトTCP(ほとんどインターネットに直接、デバイスにキャリアAPNを設定する必要がある場合があります)
- Wi-Fi(インターネットに直行)
そのため、接続を確実に開くという問題には、上記のトランスポートのサブセットを実際に試行することが含まれることが多く、上記の可用性とカバレッジを判断するのは複雑になる可能性があります。
BB OS 5.0を使用している場合、問題は新しく導入されたConnectionFactoryAPIによってはるかに簡単になります。古いBBOSバージョンを使用している場合、RIMにはネットワーク診断ツールのサンプルコードが用意されています。それは完璧ではなく、ねじれを解決するためにデバイス上で本格的なテストを行う必要がありますが、必要なAPIの要点を学ぶための良い出発点です。