菜鸟教程小白 发表于 2022-12-13 07:22:13

ios - 我可以通过 iOS Multipeer Connectivity 发送多大的消息?


                                            <p><p>有没有人知道如何通过设备在设备之间传递大量消息</p>

<pre><code>[MCSession sendData:(NSData *)data
   toPeers:(NSArray *)peerIDs
    withMode:(MCSessionSendDataMode)mode
       error:(NSError **)error];
</code></pre>

<p>可以吗?我一直在谷歌搜索没有成功。我的应用程序需要向连接的设备发送一个相当大(~1-2 MB)的信息包。我打算使用一个符合 NSCoding 的对象,我可以在任一端打包一个解包。但是,我不熟悉底层协议(protocol)。 session 是否允许传递这么大的对象?是否提供后台打包服务?</p>

<p>任何信息都会非常有帮助。 </p>

<p>谢谢,
瑞恩</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>正如文档中明确提到的,multipeer 支持三种类型的数据传输。</p>

<p>1.发送文本使用</p>

<pre><code>- (BOOL)sendData:(NSData *)data toPeers:(NSArray *)peerIDs withMode:(MCSessionSendDataMode)mode error:(NSError **)error;
</code></pre>

<p>2.发送本 map 片或文件使用</p>

<pre><code>- (NSProgress *)sendResourceAtURL:(NSURL *)resourceURL withName:(NSString *)resourceName toPeer:(MCPeerID *)peerID withCompletionHandler:(void(^)(NSError *error))completionHandler;
</code></pre>

<p>3.Streaming (of audio) - 使用音频流和 session ,您可以发送数据包。但是蓝牙的带宽限制是一个瓶颈。</p>

<p>我认为文件大小没有上限,而使用第二种方法,使用 NSProgress,您也可以显示加载 View 。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 我可以通过 iOS Multipeer Connectivity 发送多大的消息?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/30407295/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/30407295/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 我可以通过 iOS Multipeer Connectivity 发送多大的消息?