0

我在我的应用程序中使用多点连接功能。我有一个奇怪的问题,即我能够发送和接收消息(聊天)。但在文件共享的情况下,我使用

sendResourceAtURL:resourceURL withName:fileName toPeer:peer1

但是,在发送大文件时,即(超过 1Mb)应用程序崩溃,即当我使用图像选择器控制器共享从照片应用程序获取的文件时。此外,Multipeer 连接不支持断点,我无法调试它。有什么可能的解决方案吗?是内存问题(由于内存使用率高而导致崩溃?)我正在使用 ios 8.1.3(设备)和 ios 8 模拟器。我还检查了两个设备的黑白,但仍然是同样的崩溃。请帮助!!!!

4

1 回答 1

1

发送具有多对等连接的数据或文件仅适用于少量数据 - 几千字节是可以的,但发送超过大约 1 兆字节会导致它失败。如果您需要发送更多内容,则需要使用流。要建立输出流,请在建立会话时启动它

-(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;
}

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

于 2016-01-12T13:17:41.907 回答