【问题标题】:How big a message can I send via iOS Multipeer Connectivity?我可以通过 iOS Multipeer Connectivity 发送多大的消息?
【发布时间】:2015-05-22 23:32:54
【问题描述】:

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

[MCSession sendData:(NSData *)data
     toPeers:(NSArray *)peerIDs
    withMode:(MCSessionSendDataMode)mode
       error:(NSError **)error];

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

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

谢谢, 瑞恩

【问题讨论】:

  • 这听起来像是“实施细节”,而不是您可以依赖的东西。您是否尝试过改用流媒体?

标签: ios networking bluetooth multipeer-connectivity


【解决方案1】:

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

1.发送文本使用

- (BOOL)sendData:(NSData *)data toPeers:(NSArray *)peerIDs withMode:(MCSessionSendDataMode)mode error:(NSError **)error;

2.发送本地图片或文件使用

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多