私のアプリはサーバーへの永続接続で接続します。デバイスが現在3Gを使用している場合、3g以上接続します。
問題は、3Gを使用して接続し、無線LANに移動した場合、接続が低下することです。どのように切断されないようにしますか?Android - 無線LAN使用時に3gの接続を維持する方法
答えて
サーバーのようなサウンドは、クライアントがシームレスに別のIPアドレスに切り替えることができないか、キープアライブパケットを使用して接続状態を維持している可能性があり、3G接続が切断されるとセッションが切断されます。
これはあなたが支配するものではないかもしれません。 Androidの観点から見ると、デバイスはユーザーの好みに応じてWiFiを優先し、そのどちらも直接コントロールすることはできません。
簡単に言えば、通信プロトコルを変更したり再構成してクライアントIPの変更を即時に変更できない場合は、問題を緩和するためにAndroidで行うことは何もありません。
すべてのモバイルデバイス、およびそれよりも少ない程度でデスクトップ/ラップトップは、ある時点でパブリックIPアドレスを変更するため、バグやサーバー/プロトコル設計の見解が私には聞こえます。
EDIT:
あなたのコメントを受けて、およびUXの利益のために、あなたは3Gに残るためにあなたのアプリ(おそらくはデバイス全体)を強制する方法を見つけることについては非常に注意する必要がありますユーザーがWiFiを使用するように要求したとき。
ほとんどの人がデバイスでデータプランを作成しましたが、実際にデバイスを強制したときにWiFiを使用していると思われる場合(ほとんどの場合無料です。潜在的に非常に高価な3Gデータを使用し続ける
これは、Android環境で表示される妥当な制限を積極的に迂回する可能性が高いため、インストール時に「お金のかかるサービス」として表示されない可能性が高い場合に特に重要です。
EDIT 2:
だから、そこにあなたがそれを行うための方法であってもよいが、それはいつでも変更される可能性があり、サポートされていない、民間のAndroidのAPIに依存していること - いつもの免責事項が適用されます。
hereここで、ConnectivityManagerオブジェクトにアクセスしてモバイルデータを有効にすることができます。
この方法では、Androidソースツリーに対してビルドし、「システム」で共有ユーザーIDを使用する必要がありますが、適切ではないかもしれませんが、これらのAPIは非公開です(アプリケーションはできませんユーザーの操作なしでこれを行います)、それはあなたを助けるかもしれません。
これはAndroidの仕組みです。あなたは、永続的な接続を維持すべきではなく、必要なときにのみ接続を開くべきです。
- 1. 私のラップトップの無線LAN接続を使用してarduinoイーサネットをインターネットに接続する方法
- 2. アンドロイドアプリを使用した無線LAN接続
- 3. Android - サーバーと長時間接続を維持する方法
- 4. 無線LANを使用してラズベリーパイにrfidリーダーを接続するには?
- 5. アプリケーション経由で無人機無線LANに接続
- 6. C#でWifi(無線)LAN接続を無視するC#
- 7. PPP接続を維持する(pppdの3Gネットワーク自動再接続)
- 8. Pythonソケット:同じ無線LAN上の2台のコンピュータを接続する方法
- 9. Androidで3G接続を手動で開始し、それを維持する
- 10. 3Gと無線LANを切り替えるとAndroid Socketエラーが発生する
- 11. Android - サービスの再起動時にソケット接続を維持する方法
- 12. Pocket PCで無線LAN接続を検出する
- 13. 無線LAN接続を認識する方法は、Androidでホットスポット接続(携帯電話信号を使用するホットスポット)ですか?
- 14. AndroidでXMPP接続(asmackを使用)を維持する
- 15. 無線LAN接続がアクセスポイントの影響を受けます
- 16. 無線LANでJavaソケットを接続していますか?
- 17. アンドロイド:私は使用して特定の無線LANに接続することができます。Windowsのターミナル
- 18. Phonegap:iPhoneのウェブアプリからのアクセス/無線LAN接続の確認
- 19. 利用可能なすべての無線LANをスキャンして特定のWiFiと接続する方法
- 20. 無線LANにのみ接続されていることを確認する
- 21. SSHJを使ってSSH接続を維持する方法は?
- 22. インターネットに接続されていない無線LAN経由でサーバにバックエンドに接続する
- 23. 接続を維持する
- 24. アンドロイド、無線LAN Iは、無線LANルーターを持っていると私はこのような接続を試みる
- 25. RFIDスキャナー、ディスプレイ、重量センサー、無線LANシールドをラズベリに接続する
- 26. ネットワークケーブルが接続されているときに通知する/無線LANに接続する
- 27. 有線と無線の接続用にネットワークインターフェイスを設定する
- 28. Android - どのように無線LANを起動するには?
- 29. arduinoにESP13無線LANシールドを使用するには?
- 30. 無線LAN接続があるとアンドロイドは携帯電話接続を切断しますか?
これは必ずしも設計上の問題ではなく、単なるUXの問題です。例えば、あなたのアプリがVoIP呼び出しを行う場合、これは新しい接続とネゴシエーションが確立されるまで呼び出しを中断します。私はいくつかのアプリが3G接続を維持しているという事実を知っています(ちょっとは分かりません:) –
これを行うアプリを特定したら、どうやってそれを理解するのに役立ちますか? – RivieraKid
@inistel、最新の回答をご覧ください。 – RivieraKid