HTTP protocol을 통해 Json 데이터포맷을 이용하여 데이터를 주고받고 있는데, 데이터를 받는 쪽(클라이언트)에서
data 크기를 받아와 읽어야 한다.
근데 불친절한 서버는 헤더에 Content-Length가 없는 경우, 받는 쪽에서 크기를 구해내야 한다.
이부분에서 멍청하게 삽질을 해서 기억도 할겸 적는다.
MSDN : https://msdn.microsoft.com/ko-kr/library/5y092fke.aspx
CInternetFile::Read 함수 이용 시 사이즈를 지정해줘야하는데
CInternetFile::GetLength 함수 이놈으로 크기를 받는 수 밖에 없다.
(서버에서 Content-Length를 헤더에 붙여 보내줄 경우 고민할 필요가 없음)
근데 이 GetLength()가 데이터 전체크기가 아닌 실제 받는 데이터의 크기를 가져오는 것이였다..
ex) 2000byte 데이터인데 500byte씩 4번 크기를 반환..
(정확한 이유는 알수없다, 게다가 언제는 전체데이터크기 반환하고 언제는 분할해서 반환하는 것 때문에 골치아팠다)
결론은, 반복해서 반환크기만큼 읽고 반환크기가 0이면 그만하면 된다.
'김탱 개발자 > MFC' 카테고리의 다른 글
GDI 문자 자간(간격) 조정 (GDI+는 자간 조정 안됨) (0) | 2017.07.18 |
---|---|
Gdiplus 제한적 폰트 인식 (0) | 2017.07.07 |
다국어 지원 관련 함수들 (0) | 2016.06.30 |
간단하게 Excel 읽고 쓰기 (BasicExcel 사용) (0) | 2016.02.22 |
MFC 관련 팁들 (1) | 2015.11.30 |