Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS:如何增加NSURLSession上载任务的块大小?_Ios_Objective C_File Upload_Nsurlsession - Fatal编程技术网

iOS:如何增加NSURLSession上载任务的块大小?

iOS:如何增加NSURLSession上载任务的块大小?,ios,objective-c,file-upload,nsurlsession,Ios,Objective C,File Upload,Nsurlsession,我正在做一个需要上传大文件到服务器的项目。我使用NSURLSession设置后台传输服务。一切似乎都很好,但我相信它会继续发送32K的数据块。我想知道是否有办法增加块大小 以下是设置上载任务的示例代码: NSURLSessionConfiguration *sessionConfig = [NSURLSessionConfiguration backgroundSessionConfiguration:identifier]; sessionConfig.HTTPMaximumConnectio

我正在做一个需要上传大文件到服务器的项目。我使用NSURLSession设置后台传输服务。一切似乎都很好,但我相信它会继续发送32K的数据块。我想知道是否有办法增加块大小

以下是设置上载任务的示例代码:

NSURLSessionConfiguration *sessionConfig = [NSURLSessionConfiguration backgroundSessionConfiguration:identifier];
sessionConfig.HTTPMaximumConnectionsPerHost = 1;
NSURLSession *upLoadSession = [NSURLSession sessionWithConfiguration:sessionConfig delegate:self delegateQueue:nil];
NSMutableURLRequest *request = [self configureURLRequest];
NSURLSessionUploadTask *uploadTask = [upLoadSession uploadTaskWithRequest:request fromFile:[NSURL fileURLWithPath:filePath]];

[uploadTask resume];
以下是学员示例代码:

- (void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task didSendBodyData:(int64_t)bytesSent totalBytesSent:(int64_t)totalBytesSent totalBytesExpectedToSend:(int64_t)totalBytesExpectedToSend {

DLog(@"didSendBodyData: %lld, totalBytesSent: %lld, totalBytesExpectedToSend: %lld", bytesSent, totalBytesSent, totalBytesExpectedToSend);    

}

同样,有没有办法增加使用NSURLSession上传的块大小?默认值为32K。

使用NSURLSession API时,无法控制块大小。顺便说一句,你可能不想这么做。随着设备从WiFi变为蜂窝网络,或交换手机发射塔,您的带宽将发生变化。我希望操作系统不断适应这些复杂的变化变量,通过限制应用程序的带宽做出反应。实际上,您需要这样做,因为在一个支离破碎的手机网络上发出贪婪的请求很可能会失败