2011-12-06 6 views
4

私は、UDPサービスとやり取りするAndroidアプリケーションを実装することの可能性に興味があります。私はAndroidがUDPをサポート確信している:私は、このようなアプリケーションが実際に典型的な関税上のAndroid携帯電話上で動作するでしょうかどうかであるについてあまり明確だ何Androidサービスの開発 - UDPサービス

http://www.helloandroid.com/tutorials/simple-udp-communication-example

- 双方向通信のために。私は、AndroidクライアントがUDP(自己宣言)によってリモートでホストされているサービスに連絡し、その後サーバーがリアルタイムイベントについてAndroidデバイスに通知することを望みます。

私は商用ネットワーク上のモバイルデバイスがIPアドレスを強制的に変更する可能性があることを懸念しています - たとえば、Wi-Fiゾーンを出入りするときなど... NATがあるかどうかわかりません典型的な3Gネットワ​​ーク上の問題。

Android携帯との間で双方向(ベストエフォート)通信にUDPを使用することは本当に実行可能ですか?

+1

通常、VoIPはモバイルネットワークでブロックされます。通常、VoIPはVoIPを使用し、ネットワーク事業者はVoIPによる利益を失うことを好まないためです。 – Robert

+1

あなたは「しばしば」についてより具体的になりますか? – aSteve

+1

あなたのモバイルネットワーク事業者とあなたが住んでいる国によって異なりますので、あなたのデバイスで取得するIPをチェックしてください。プライベートIP(10.x.x.x、192.168.x.xなど)の場合は、通常は着信UDPトラフィックをすべてブロックするNATゲートウェイの背後にいます。 – Robert

答えて

5

ここではいくつかの問題があります。まず、UDPはAndroidによって完全に使用可能です。それはちょうどうまくUDPパケットを送受信することができます。より大きな問題は、実際には、それがWiFi上にあり、rhe接続が同じLANから来ていない限り、最初の接続を開かなかった着信UDP接続を受信できないことです。

3G/4Gでは、ワイヤレス通信事業者がプロキシサーバーを備えたファイアウォールを備えているため、携帯電話は外部からアドレス指定できません。そのため、着信接続はそのファイアウォールを通過しません。代わりに、電話機がファイアウォールの背後から接続を開くと、双方向トラフィックがそのリンクを介して流れることができます。電話ネットワーク(3G)ネットワークへの常にオープン接続から(無線LAN)

2)電池寿命から行くとき

さて、あなたは持っているだろう問題は

1)生きているリンクを維持するだろう

おそらく、あなたはあなたが見ているものに対してC2DMを本当に望んでいるでしょう。

+0

私はこれまでC2DMを認識していませんでした...その存在は、私がUDPのために意図した使用は実用的ではないことを強く示唆しています。私はずっとUDPをC2DMほど複雑なものよりも使用していて、Googleのサービスへの依存を避けたいと思っています...しかし、ちょっと待ってください。 – aSteve

+1

2012年6月にC2DMは廃止されましたが、代わりに[GCM](http://developer.android.com/google/gcm/index.html)が提供されます。 –

関連する問題