|
오라클 DB에 BLOB타입의 동영상 파일이 존재합니다.(test.wmv, 2MB)
이 동영상파일을 TCP/IP통신을 통해 패킷에 실어 전송을해야 합니다.
그런데 한 패킷의 최대 사이즈는 512byte입니다.
2MB의 동영상파일을 조회하여 512byte에 맞게 여러개로 분리하여 패킷을 구성, 전송해야하는데 어떤 처리를 해야 하는지 난감합니다.
일단 DB로부터 동영상 파일을 BlobStream으로 조회하였습니다.
// ADO를 이용한 DB연결
TADOConnection *adoConn = new TADOConnection(NULL);
adoConn->ConnectionString = "Provider=OraOLEDB.Oracle.1;Password=brian;User ID=brian;Data Source=local;Persist Security Info=True";
adoConn->ConnectionTimeout = 10;
TADOQuery *adoQuery;
adoQuery = new TADOQuery(NULL);
adoQuery->Connection = adoConn;
AnsiString sQry = "SELECT MOVIEDATA FROM BIMS_PRMOVIE WHERE PRID = 601";
adoQuery->SQL->Add(sQry);
adoQuery->Open();
// BlobStream으로 조회
TADOBlobStream *bs;
bs = (TADOBlobStream *)adoQuery->CreateBlobStream(adoQuery->FieldByName("MOVIEDATA"), bmRead);
셋팅된 스트림데이터를 char[] 버퍼 영역에 각각 저장하여 패킷을 구성하려하는데 어떻게 풀어나가야할지 도대체 풀리지가 않네요..
도와주세요~~
|