2つのAndroid携帯電話間で実際にTCP接続を取得するか、最小限のペイロードで4ステップの順序依存プロトコル(AがBに送信、BがAに送信、AがBに送信、BがAに送信)を実行する機能を取得する必要があります(最悪の場合、メッセージあたり20kb)
これは機能する必要があります
- Wi-Fi、Bluetooth、またはNFCが有効になっていない(つまり、2/3 / 4G以上)
- Andriod電話間、できればAndroidとIO間、およびiphone間
- サードパーティのサーバーを必要とせず、できればサーバーの実行を必要としない
私は誰かにqrコードをスキャンさせて、電話を「ペアリング」したり、基本的な識別子を交換したりすることを完全に望んでいます。
自分のサーバーをセットアップし、2つのデバイス間でTCPまたはUDPストリームを開くためにネットワークホールパンチングソリューションを実行する以外に、私ができるより良いことはありますか?
ない場合、Android用の最良のネットワークホールパンチングソリューションは何ですか?
うまくいかないようです:
GoogleのC2DMプッシュ通知は、サーバーからデバイスへのメッセージングがプルをトリガーすることを目的としているようです。
Alljoynは、ユーザーがWi-FiまたはBluetoothを有効にする必要があるように見えることを除いて、メッセージングに関して私が望んでいることを正確に実行しているようです。アイデアは、セルラーモデムの使用を避けることです。
Androidは、このAPIを介してWi-Fiでこれをネイティブにサポートしていますが、これも初心者ではありません。
最後に、Bump apiがあります。これは、私が望むほとんどすべてを実行しますが、サードパーティのサーバーを必要とします。サーバーはユーザーがアプリを使用するタイミングを学習するため、これはプライバシー上の理由からは問題ありません。