ここに私がいるところがありNSURLSessionUploadTask
ます:
- iOS アプリケーションが
NSURLSessionUploadTask
POST を使用して開始する - サーバーが HTTP POST リクエストを受け取る
- サーバーはリクエストのコンテンツを読み取り、データがアップロードされます
- iOS アプリケーションが
URLSession:task:didSendBodyData:totalBytesSent:totalBytesExpectedToSend:
繰り返し呼び出し、最後の呼び出しが次のtotalBytesSent
値に等しいtotalBytesExpectedToSend
- サーバーは、以下で構成される HTTP 応答を iOS に送信します。
HTTP/1.1 200 OK サーバー: BaseHTTP/0.3 Python/2.7.10 日付: 2015 年 10 月 30 日 (金) 16:15:21 GMT コンテンツタイプ: text/html <html><head><title>POST RESPONSE</title></head><body><p>ファイルがアップロードされました.</p></body></html>
- iOS アプリケーションがこの応答を受信します (Wireshark で確認)
- iOS アプリケーションは、アップロード タスクを完了するために次のメソッドを呼び出し
ません。
NSURLSessionTaskDelegate: -> URLSession:dataTask:didReceiveData:
NSURLSessionTaskDelegate -> URLSession:task:didCompleteWithError:
- 代わりに、約 200 秒間ハングした後、iOS アプリケーションはデータ アップロード タスクを繰り返します。
このデータのアップロード、HTTP 200 応答、約 200 秒のハング プロセスが無期限に繰り返されるようです。HTTP 応答が iOS アプリケーションによって受信されると、呼び出されNSURLSessionTaskDelegate: -> URLSession:dataTask:didReceiveData:
ないのはなぜ ですか?NSURLSessionTaskDelegate -> URLSession:task:didCompleteWithError: