我正在研究一个主题多重连接框架。我使用以下链接了解了这个框架:
http://www.appcoda.com/intro-multipeer-connectivity-framework-ios-programming/
但我的问题是,我可以向所有连接的对等方发送聊天消息,并由他们接收。但我需要在文件共享中使用相同的功能。我需要同时向所有连接的对等体发送文件。这可能吗????
答案 0 :(得分:1)
是的,有可能。如果你想发送大文件(如几十兆字节或更多),我建议使用方法sendResourceAtURL:withName:toPeer:withCompletionHandler`` instead of
sendData:toPeers:withMode:error:`。
这样您就不必立即将整个文件加载到内存中(这可能会触发内存警告甚至崩溃)。您还可以获得NSProgress
作为返回值,以便向用户显示转移进度。
NSURL* fileUrl = [NSURL fileURLWithPath:...]; //get the path of the file you'd like to send
NSString* resourceName = @"<name to display>";
for(MCPeerID *peer in session.connectedPeers) {
[session sendResourceAtURL:fileUrl withName:resourceName toPeer:peer withCompletionHandler:^(NSError *error) {
//handle transfer completion or error
}];
}
答案 1 :(得分:0)
只要您可以将文件转换为NSData对象,就可以显示它。
理论上,如果你改变这一行:
NSData *dataToSend = [_txtMessage.text dataUsingEncoding:NSUTF8StringEncoding];
为:
NSData *dataToSend = [NSData dataWithContentsOfFile:@"Path to the file."];
并保持其余部分仍然有效。