Main Content

getData

클래스: matlab.net.http.io.ContentProvider
네임스페이스: matlab.net.http.io

ContentProvider로부터 HTTP 요청 메시지에 포함하여 전송할 다음 데이터 버퍼

구문

[data,stop] = getData(provider,length)

설명

[data,stop] = getData(provider,length)는 HTTP 요청 메시지에 포함하여 전송할 데이터 버퍼를 반환합니다.

MATLAB®start를 호출한 뒤에 RequestMessage.send가 실행되는 동안 이 메서드를 여러 번 호출하고 data로 구성된 각각의 버퍼를 즉시 서버로 전송합니다. 메시지가 청크 형식인 경우(예: expectedContentLength가 비어 있는 값을 반환했고 메시지에 Content-Length 필드가 없는 경우), 청크의 크기는 data의 길이가 됩니다.

입력 인수

모두 확장

콘텐츠 제공자로, matlab.net.http.io.ContentProvider 객체로 지정됩니다.

최적의 대화식 동작을 위해 제공자가 반환해야 할 데이터 길이로, double형으로 지정됩니다.

이 값은 preferredBufferSize의 값과 내부 버퍼 크기(지정된 경우)에 기반해 제안되는 길이입니다. 단, 제공자는 더 많은 바이트나 더 적은 바이트를 반환할 수 있으며, 제공자가 특정 크기의 청크를 전송하고자 하는 경우에는 length를 무시할 수 있습니다. MATLAB은 length에 어떤 특정한 값이 지정된다고 보장하지 않지만, 이 값은 항상 0보다 큰 유한수입니다. 매우 큰 data로 구성된 버퍼를 반환하면 데이터가 전송되는 동안 MATLAB이 상당 시간 동안 차단될 수 있는데, 이 동안에는 사용자가 Ctrl+C를 사용하여 작업을 중단할 수 없습니다. 상대적으로 큰 버퍼를 사용하는 것이 효율적인 비대화식 애플리케이션의 경우에는 이것이 문제가 되지 않을 수 있습니다.

출력 인수

모두 확장

다음 데이터 버퍼로, uint8형 벡터나 비어 있는 값으로 반환됩니다. data가 비어 있고 stop이 설정되지 않은 경우, MATLAB은 (약간의 지연 뒤에) 추가 데이터를 받기 위해 이 메서드를 반복적으로 호출합니다. 메시지를 종료하려면 stop=true를 반환하십시오. 예외를 발생시켜 메시지를 중단할 수도 있습니다. 이 경우 메시지는 RequestMessage.send의 호출자에게 반환됩니다.

Content-Length 헤더 필드가 메시지 헤더에 포함되었거나 expectedContentLength에 의해 반환된 경우(즉, 메시지 전송에 청크 형식의 전송 코딩이 사용되지 않은 경우), 여러 차례의 호출을 통해 stop=true로 끝난 data로 반환된 바이트의 총 수는 Content-Length 헤더 필드에 지정된 수와 같아야 합니다. stop=true가 중간에 반환되었거나 반환된 data의 총 양이 이 수보다 큰 경우, MATLAB은 예외를 발생시키고 연결을 닫습니다.

전송을 종료할지 여부를 표시하며, 제공자가 설정해야 하는 논리값으로 반환됩니다. false인 경우, MATLAB은 다음 버퍼를 전송할 준비가 되면 추가 데이터를 받기 위해 이 getData를 다시 호출합니다. true이면 data로 반환된 데이터 외에는 더 이상 제공자가 전송할 데이터가 없음을 의미하며, MATLAB에 메시지를 종료하라고 전달합니다. 이는 일반적으로 RequestMessage를 종료하고 MATLAB이 ResponseMessage를 받을 준비를 하는 방법입니다.

특성

Accesspublic

버전 내역

R2018a에 개발됨