OStack程序员社区-中国程序员成长平台

标题: ios - 我可以通过 iOS Multipeer Connectivity 发送多大的消息? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 07:22
标题: ios - 我可以通过 iOS Multipeer Connectivity 发送多大的消息?

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

[MCSession sendDataNSData *)data
     toPeersNSArray *)peerIDs
    withModeMCSessionSendDataMode)mode
       errorNSError **)error];

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

任何信息都会非常有帮助。

谢谢, 瑞恩



Best Answer-推荐答案


正如文档中明确提到的,multipeer 支持三种类型的数据传输。

1.发送文本使用

- (BOOL)sendDataNSData *)data toPeersNSArray *)peerIDs withModeMCSessionSendDataMode)mode errorNSError **)error;

2.发送本 map 片或文件使用

- (NSProgress *)sendResourceAtURLNSURL *)resourceURL withNameNSString *)resourceName toPeer:(MCPeerID *)peerID withCompletionHandler:(void(^)(NSError *error))completionHandler;

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

我认为文件大小没有上限,而使用第二种方法,使用 NSProgress,您也可以显示加载 View 。

关于ios - 我可以通过 iOS Multipeer Connectivity 发送多大的消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30407295/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4