簡體   English   中英

發送大文件/圖像時多對等會話斷開連接

[英]Multipeer Session Disconnects While sending large files/images

我在我的應用程序中使用多對等連接功能。 我有一個奇怪的問題,即我能夠發送和接收消息(聊天)。 但是在文件共享的情況下,我使用

sendResourceAtURL:resourceURL withName:fileName toPeer:peer1

但是,當發送大文件(即大於1Mb)時,應用程序崩潰,即當我使用圖像選擇器控制器共享從照片應用程序中獲取的文件時。此外,Multipeer連接不支持斷點,因此無法調試。 有什么可能的解決方案嗎? 這是內存問題(由於高內存使用率導致崩潰嗎?)Iam使用ios 8.1.3(device)和ios 8模擬器。 我還檢查了黑白兩台設備,但仍然死機。請幫助!!!

發送具有多對等連接的數據或文件僅適用於少量數據-幾千字節是可以的,但是發送超過一兆字節將導致數據失敗。 如果您需要發送更多內容,則需要使用流。 要建立輸出流,請在建立會話后啟動它

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

有了兩個流之后,就可以打開它們並開始閱讀和寫作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM