클라이언트가 서버에서 파일을 요청하면 OnHTTP2Response 이벤트를 사용하여 스트림 응답을 로드하십시오.
대용량 파일(수백 MB 이상)을 다운로드할 때, 기본 60초 시간 초과로 전송이 중단되지 않고 완료되도록 HTTP2Options.ReadTimeout을 0(시간 초과 없음)으로 설정하십시오:
TsgcHTTP2Client *oClient = new TsgcHTTP2Client();
oClient->HTTP2Options->ReadTimeout = 0; // no timeout for large files
oClient->Get("https://server/largefile", oStream);
TsgcHTTP2Client *oClient = new TsgcHTTP2Client();
oClient->OnHTTP2Response = OnHTTP2ResponseEvent;
oClient->Get("https://http2.golang.org/file/gopher.png");
...
void OnHTTP2ResponseEventEvent(TObject *Sender, const TsgcHTTP2ConnectionClient *Connection,
const TsgcHTTP2RequestProperty *Request, const TsgcHTTP2ResponseProperty *Response)
{
TFileStream *oStream = new TFileStream("file", fmOpenWrite | fmCreate);
try
{
oStream->CopyFrom(Response->Data, Response->Data->Size);
}
__finally
{
oStream->Free();
}
}