を使用してTCP/IP経由でサーバーに動画をアップロードしようとしていますGCDAsyncSocket
。時々、私が取り除くことができなかったエラーでソケットが切断されます:
2011-12-17 11:39:25.073 Hadza [433:707] socketDidDisconnect、エラー:エラードメイン=NSPOSIXErrorDomainコード=12「メモリを割り当てることができません」UserInfo=0x2aa260 {NSLocalizedFailureReason = write()関数のエラー、NSLocalizedDescription=メモリを割り当てることができません}
私はいたるところを探してきましたが、これの原因、修正方法、またはこの問題の回避方法を実際に理解することはできません。
アプリがファイルをアップロードするために従うフローは次のとおりです。
- サーバーへの書き込み(media_id)
- サーバーからACKサインを読み取る
- すでに送信されたバイト数を読み取る
- 最後に送信されたバイトからビデオを書き込みます
- ACK信号を待って読み取ります(アップロードに問題がなかったことを意味します)
- すべてがうまくいったら、終了します。エラーが発生した場合は、エラーに応じて1または3から再起動します。