我使用C ++ Builder XE5中包含的CloudAPI函数,一直试图使用Amazon S3分段上传技术。
当调用TAmazonStorageService.UploadPart
时,我总是会在稍微暂停(可能是发送字节所需的内容)后得到套接字错误10054或10053.我尝试过使用HTTP和HTTPS,没有区别。
我可以使用TAmazonStorageService.InitiateMultipartUpload
正确使用UploadId,使用UploadObject上传工作正常,所以显然连接和设置工作正常,但是这些调用会产生套接字错误。
知道在哪里看?我还没有找到使用此CloudAPI上传Mutlipart的示例:我所看到的是单部分上传(可以正常上传)。
答案 0 :(得分:1)
10054(又名&#34; connection reset by peer&#34;)可能意味着远程主机对客户端发送的数据不满意并且拔掉了插头&#34;。< / p>
这通常会导致(......)远程主机使用硬关闭。 如果由于连接断开,也可能导致此错误 保持活动活动在一个或多个操作时检测到故障 正在进行中。
10053是一个类似的问题 - 也可能是由客户端发送的数据中的协议错误引起的:
已建立的连接已被主机中的软件中止 计算机,可能是由于数据传输超时或协议 错误。
缩小问题来源的两个建议:
插入HTTP代理(例如Fiddler2)来捕获和查看HTTP流量,或者 - 如果库基于Indy - 使用Indy Interceptor组件记录HTTP数据
使用以不同语言编写的工作客户端实现(例如C#)来验证多部分是否适用于您的特定配置,如果有效,请将其HTTP通信与Delphi版本中的HTTP通信进行比较