基本的に一連のアクションをクリックできるiPhoneアプリケーションを開発しています。これらのシリーズは事前定義されており、共通の構成サーバーと同期されます。
そのアプリは、同時に複数のデバイスで実行されている可能性があります。すべてのデバイスには、同じ一連のアクションが定義されていると見なされます。すべてのデバイスは同等であると見なされ、サーバーや複数のクライアントなどはありません。
(のみ)これらのデバイスの1つがいつでも人によって使用されますが、人がいつでも別のデバイスに切り替える可能性があります。すべての「パッシブ」デバイスは、同じアクションを表示するようにアクティブデバイスと同期する必要があります。
すべてが可能な限り自動的に行われる必要があります。デバイスの選択、構成、同じネットワーク内のすべてのデバイスが同じ一連のアクションに参加することはありません。
追加の要件の1つは、デバイスがプレゼンテーション(一連のアクション)中に参加でき、現在アクティブなアクションにジャンプする必要があることです。
現在、そのネットワーキング/通信部分を実装するための2つのオプションがあります。
ボンジュール。ネットワーク内の他の1つのデバイスと自動的に接続し、それと通信できる実用的なプロトタイプを実装しました。この時点で、「複数のデバイス」の要件がどれだけの追加作業であるかはわかりません。すべてのデバイスに対して一連の接続を開き、同期イベントをすべてのデバイスに手動で送信する必要がありますか?より良い方法はありますか、それともbonjourはそれを助けるために何かを提供しますか?とにかくネットワーク内のすべてのデバイスと通信したい場合、Bonjourは何を提供しますか?
AsyncUdpSocketを使用したマルチキャスト。ポートを定義し、マルチキャスト同期イベントをそのポートに送信するだけです。tcpでbonjourを使用する場合と比較した場合の主な問題は、接続が安全でなく、パケットが失われる可能性があることだと思います。ただし、これが本当に問題になる場合は、トラフィックの少ないプライベートで保護されたWLANネットワークにあります。私が見ていない他の不利な点はありますか?現時点では、それは比較的簡単なオプションのように聞こえるので...
どれを提案しますか?それとも、私が考えていない別のより良い代替案がありますか?