4

複数のピアに接続する必要がある ios(iPhone) アプリケーションのアイデアがあります。コードはWiTab (SampleCode-developer.apple.com) の例に基づいています。

私のアプリケーションが各ピアを開始すると、個別のソケット(CFSocket)を作成し、NSNetService クラスを介して公開します。特定のインスタンス NSNetServiceBrowser クラスは、利用可能なピアを見つけます。テーブルビューで名前を表示します。テーブルビューで行を選択すると、対応するピアアドレスが解決され、接続が確立され、データの送受信が正常に行われました。

しかし、私の意図は、tableView(複数のピア)で複数の行を選択したいということです。選択したピアのアドレスを解決しました。そのために、選択したピア情報を NSMutableArray に保存しました。送信ボタンをクリック(タッチ)すると、選択したデバイスのアドレスを解決し、選択したピアにデータを送信したい。そのために私はこのコードをやった

 for(int k=0;k<[selectedService count];k++)
    {

             self.currentResolve = [self.selectedService objectAtIndex:k];         
             self.currentResolve = [self.selectedSer objectAtIndex:k];     
             [self.currentResolve setDelegate:self];    
             [self.currentResolve resolveWithTimeout:60];           
  }

しかし、それは1つのデバイス(self.selectedService objectAtIndex:0)のみを解決します。したがって、複数のピアアドレスを解決するにはどうすればよいですか/複数のデバイスの接続を確立する方法. 私の疑問は次のとおりです:-

  1. WiFi経由で複数のデバイスを同時に接続することはできますか?
  2. はいの場合、同じパターンで接続できるデバイスの最大数は何台ですか?
  3. 複数接続(TCP/UDP)に便利なCFSocketはどれ?
  4. 各ピアに複数の CFSocket を作成する必要がありますか?
  5. はいの場合、どのように?利用可能なドキュメントはありますか?
  6. セッションを確立するために必要ですか?
  7. 複数のデバイスのアドレスを解決するには?
4

2 に答える 2

9

Apple.Developer Witapアプリケーションを変更するのは非常に困難です。これは、解決されたすべてのアドレスを保持する必要があり、すべてのメソッドを変更してロットを処理する必要があるためです。

このチュートリアルはあなたの目標を達成すると思います。

このアプリの名前は「<strong>Chatty」です。そのソースコードはここにあります

Download the App --> Open --> Click-on Chatti project tab --> Build Settings --> Change the base SDK to iOS6

MIT ライセンスの下でリリースされています。つまり、自由に変更して再利用することができます。

このチュートリアルでは、iPhone 用の簡単なチャット アプリケーションについて説明します。独自のチャット ルームをホストし、ローカルの Wi-Fi ネットワークで宣伝したり(この場合、アプリはチャット「サーバー」として機能します)、ネットワーク上の他の人がホストするチャット ルームを見つけて参加したりできます (サーバーとして機能します)。チャット「クライアント」)。チャットルームのアナウンスとディスカバリは、Witap アプリケーションと同じ Apple の Bonjour プロトコルを使用して実装されています

今、私はあなたのそれぞれの質問に答えています

WiFi経由で複数のデバイスを同時に接続することはできますか?

はい、できます

はいの場合、同じパターンで接続できるデバイスの最大数は何台ですか?

何台でもペアリングできると思います

複数接続(TCP/UDP)に便利なCFSocketはどれ?

私の提案はTCPです

質問に対する残りの回答は、サンプルの Chatty アプリから簡単に理解できます :)

: サーバーとクライアントは同じ WiFi ネットワーク上にある必要があります

于 2012-12-05T06:11:12.043 に答える
0

アプリの性質によっては、GamKit フレームワークを使用でき、必要以上の機能を提供します。ここでは、注意事項を説明します。

  1. ゲームセンター

6.1 プレイヤー ID をエンドユーザーまたは第三者に表示するアプリは拒否されます 6.2 Game Center の条件で承認された以外の目的でプレイヤー ID を使用するアプリは拒否されます関連付け、採掘、収集、またはその他の方法で悪用する Game Center を通じて取得したプレイヤー ID、エイリアス、またはその他の情報は、iOS 開発者プログラムから削除されます。 6.4 ランキング スコアなどの Game Center 情報は、 Game Center 6.5 Game Center サービスを使用して未承諾メッセージを送信したり、フィッシングやスパムの目的で使用するアプリは拒否されます 6.6 Game Center のネットワーク容量または帯域幅を過度に使用するアプリは拒否されます 6.7 ウイルス、ファイルを送信するアプリ、コンピュータコード、または、Game Center サービスの通常の動作に害を及ぼす、または妨害する可能性のあるプログラムは拒否されます。

于 2012-11-29T22:44:46.430 に答える