Multipeer Session Disconnects发送大文件/图像时

问题描述:

Iam在我的应用程序中使用多路连接功能。我有一个奇怪的问题,即Iam能够发送和接收消息(聊天)。但在文件共享的情况下,我用Multipeer Session Disconnects发送大文件/图像时

sendResourceAtURL:resourceURL withName:文件名toPeer:方1

但是当发送大文件,即(超过1MB)的应用程序崩溃,即当我分享从拍摄的照片文件应用程序使用图像选择器控制器。也Multipeer连接不支持断点,我无法调试它。任何可能的解决方案?它是一个内存问题(由于内存使用率高导致崩溃?)Iam使用ios 8.1.3(设备)和ios 8模拟器。我也检查了黑白两个设备,但仍然是相同的crash.Please帮助!

+0

哪个应用程序崩溃?一个发送还是一个接收?请张贴代码。无法看到你在做什么而无法提供帮助。 – ChrisH 2015-02-11 19:56:46

+0

嗨,我遇到同样的问题exaclty,你有没有找到一种方法来改善/纠正? Thnks – FlavienSi 2015-10-27 13:54:46

通过多点对等连接发送数据或文件仅适用于少量数据 - 几千字节可以,但发送超过大约一兆字节将导致其失败。如果您需要发送更多,则需要使用流。要建立输出流,启动时建立会话

-(void)session:(MCSession *)session peer:(MCPeerID *)peerID didChangeState:(MCSessionState)state 
{ 
    switch(state) 
    { 
     // ... 
     case MCSessionStateConnected: 
      self.outputStream = [session startStreamWithName:@"Stream" toPeer:weakSelf.remotePeerID error:&error]; 
      break; 
     // ... 
    } 
} 

并为您的输入流,实现

-(void)session:(MCSession *)session didReceiveStream:(NSInputStream *)stream withName:(NSString *)streamName fromPeer:(MCPeerID *)peerID 
{ 
    self.inputStream = stream; 
} 

一旦你有了两个流,你可以打开它们,并开始阅读和写作。