すべては質問に..
私はiPad/iPhone(送信者)と他の多くのデバイスのiPad/iPhone間の接続を作成する方法を知っていますリスナー)。チャレンジは次のとおりです。中間サーバーを使用せずにこれを作成する必要があります。
各デバイスリスナーは、各送信者メッセージに「ライブ」で応答する必要があります。
これを実現する方法はありますか?どのようにサーバーなしで2つ以上のデバイス間の接続を作成する
答えて
基本的には、マルチキャストDNSが必要です(AppleはBonjourと呼んでいます)。アップルのドキュメントの最初の部分についてはhttp://developer.apple.com/opensource/を参照してください。良い書きたたみについてはhttp://mobileorchard.com/tutorial-networking-and-bonjour-on-iphone/を参照してください。
Bonjourフレームワークを使用してください。デバイスは同じサブネット上になければなりませんが、サーバーを使用せずに接続できます。 AppleはBonjourフレームワークのサンプルコードを提供しています。私はBonjourを使用してアプリケーションをリリースしていませんが、私はBonjourでいくつかの開発/概念実証アプリケーションを行っています。
すべてのデバイスが同じLAN上にある場合は、ブロードキャストまたはマルチキャストUDPを使用して互いを検出し、(互いのIPアドレスを知っていれば)UDPまたはTCP経由で直接通信できます。 (もちろん、必要とされる直接TCP接続の数は、デバイスの数によって非常に迅速に増加するため、ある程度拡張することができます。UDPはさらに拡張することができます。デバイス)。
実際の問題は、デバイスがインターネット上のさまざまな場所に存在し、その一部またはすべてがNATおよびファイアウォールの背後にある場合です。その場合、頼りになるのは、デバイスが発信TCP接続を確立できるかどうかだけです。この場合、それぞれに直接接続することができないため、接続するサーバがほとんど必要になります他のほとんどの場合(NAT /ファイアウォールはセキュリティ上の理由から着信TCP接続パケットをフィルタリングします)。
Bluetooth経由でPeer-to-Peer connectivityをご覧ください(これはiOSのGameKit APIの一部です)。
- 1. 私は1つのデバイスが がデータを受信、そのデバイスに接続することができます接続し、複数のデバイスにいくつかのデータをストリームするサーバーのようになり、接続を作成したい複数のデバイス
- 2. ノードJS内に2つ以上のMongos接続オブジェクトを作成する
- 3. 7つ以上のBluetoothデバイスに接続する方法
- 4. WiFi-iOSに接続されている2つ以上のデバイス間の呼び出し
- 5. 2つ以上のクライアントソケットを直接接続する方法は?
- 6. codeigniterで2つ以上のデータベースを接続する方法
- 7. 2つの異なるサーバー間の接続Express.jsとノードj
- 8. iOSデバイスをBluetooth以外のiOSデバイス(Arduinoデバイス)に接続するにはどうすればよいですか?
- 9. Facebookへの接続の2つの異なる不整合をどのように作成できますか?
- 10. QtRO - クラスqremoteobjects - 2つ以上のリモートピアをどのように接続できますか?
- 11. PyMongo 2つ以上のフィールドでユニークなインデックスを作成する
- 12. ストライプ接続:90日以上の資金をどのように保つか?
- 13. 2人以上のサブドメインをnifiに接続しようとしています
- 14. 異なるサーバー間で接続された2つのデータベースを作成する方法
- 15. Android Bluetoothプログラム間で2つのデバイス間の接続が失敗する
- 16. 2つ以上のデバイスをBluetoothに接続して情報を送信できますか?
- 17. デカップリングされた2つのコンポーネントの間の接続の作成
- 18. 2つ以上のデータベース接続が必要ですか?
- 19. 2つのデバイスの間で接続できないBluetooth Bluetoothのアンドロイド
- 20. 2つ以上のpythonファイルに同じGUIを接続
- 21. Pythonで2台のコンピュータ間の接続を作成する
- 22. doctrine 2で接続がどのように動作するか?
- 23. 2つのデバイス間で長時間実行されているクライアントとサーバーの接続
- 24. 2つ以上の好きなノードでバックボーンビューを作成するにはどうしたらいいですか?
- 25. 2つのアクティビティを接続してプログラムを作成するにはどうすればよいですか?
- 26. 異なるサーバー上の2つのデータベースを接続するための接続文字列C#
- 27. clojureで2つ以上の述語をどのように作成しますか?
- 28. Log4jが5つ以上のログファイルを作成しないようにする
- 29. 600以上の接続を持つMySQL
- 30. 2つ以上のWin Server 2016への同時接続
実際には、私はブルートゥースについて考えていましたが、距離の範囲が問題になる可能性があると思います。/アプリケーションを同じ部屋で使用する必要がある場合でも... – klefevre
ええと..すべてのデバイスは@iPhone Guyと@Femiが提案したように、あなたはBonjourを使ってあなたが望むものを達成できるかもしれません。あなたがまだBluetoothを好むなら(そして行きたい:))、各デバイスが「現在の」デバイスのリストを維持し、真のP2P方式でメッセージを発信元から宛先にルーティングできるソリューションを実装できるかどうかを確認してください。 Bluetooth経由で過度に使用されるかもしれない! – octy