我有一个 ios(iPhone) 应用程序的想法,该应用程序需要连接到多个对等点。我的代码基于 WiTab (SampleCode-developer.apple.com) 示例。

当我的应用程序启动每个对等点时,创建单独的 Socket(CFSocket) 并通过 NSNetService 类发布。在特定实例 NSNetServiceBrowser 类中找到可用的对等点。并在TableView中显示他们的名字。当我在表 View 中选择行时,对应的对端地址解析,连接建立,发送接收数据成功。

但我的意图是,我想在 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];
  }

但它只会解析一个设备(self.selectedService objectAtIndex:0)。那么我如何解析多个对等地址/如何为多个设备建立连接。
所以我的怀疑是:-
  • 是否可以通过 WiFi 同时连接多个设备?
  • 如果是,相同模式下最多可以连接多少台设备?
  • 哪种类型的 CFSocket 对多连接(TCP/UDP)有用?
  • 是否需要在每个peer中创建多个CFSocket?
  • 如果是,如何?他们有任何可用的文件吗?
  • 是否需要建立 session ?
  • 如何解析多个设备的地址?
  • 最佳答案

    修改 Apple.Developer Witap 应用程序非常困难,因为您需要保存所有已解析的地址,必须修改所有方法并处理很多。

    我认为 this tutorial 会实现你的目标。

    该应用程序名为“ Chatty ”。其源代码位于here

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

    它是在 MIT 许可证 下发布的,这意味着您可以 随意修改和重用

    在本教程中,他们将探索一个简单的 iPhone 聊天应用程序。它允许您托管自己的聊天室并在您的 本地 Wi-Fi 网络上做广告 (在这种情况下,您的应用程序充当聊天“服务器”)或查找并加入由您网络上的其他人托管的聊天室(充当作为聊天“客户端”)。聊天室的公告和发现都是使用苹果的 Bonjour 协议(protocol)实现的,与 Witap 应用程序 相同

    现在我正在回答你的每一个问题



    从示例 Chatty App 中可以轻松理解您问题的其余答案:)

    注意 : 服务器和客户端需要在同一个 WiFi 网络上

    关于objective-c - 如何通过 WiFi 连接 iPhone 应用程序上的多个对等点?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8833811/

    10-12 00:15