我一直在尝试使用Alamofire实现多部分表单数据。 我做了一些代码,它适用于执行时间低于60秒的请求。但是,如果请求花费不止于此,它结束并上传未完成:MultipartFormData上传使用Alamofire
而且,我得到这个输出(大概意思是说我的应用程序试图写一个封闭的TCP套接字):
2017-06-20 17:22:21.924948 app[4645:1381848] [] nw_endpoint_flow_prepare_output_frames [110.1 10.39.80.102:8550 ready socket-flow (satisfied)] Failed to use 1 frames, marking as failed
2017-06-20 17:22:21.928262 app[4645:1381848] [] nw_endpoint_handler_add_write_request [110.1 10.39.80.102:8550 failed socket-flow (satisfied)] cannot accept write requests
2017-06-20 17:22:21.929278 app[4645:1381027] [] __tcp_connection_write_eof_block_invoke Write close callback received error: [22] Invalid argument
我已经尝试修改URLSessionConfiguration
我使用通过改变timeoutIntervalForRequest
和timeoutIntervalForResource
参数执行请求:
func initManager(timeoutInterval:Double) {
let configuration = URLSessionConfiguration.default
configuration.timeoutIntervalForRequest = timeoutInterval
configuration.timeoutIntervalForResource = timeoutInterval
alamofireManager = Alamofire.SessionManager(configuration: configuration)
}
但是,我仍然遇到同样的问题。有谁知道如何解决这个问题?还是有人遇到同样的问题?
谢谢
谢谢@dgatwood。我完全忘了回答你。你是对的,我在服务器端达到了执行时间限制(定义为60秒)。此外,你的建议是相当不错的,我已经定义了一个任务来实现它(因为我使用的服务器支持正确执行)。 –