Flex에서 소켓을 통한 파일 전송은 100메가 용량만 신뢰성을 보장한다는 내용의 글을 본적이 있다.
3. 소켓을 통한 파일 전송 부분
// 비디오 파일 전송
public function sendFile(dt:ByteArray, uploadFile:File, firstFlag:Boolean):void{
if(m_socket.connected == true)
{
var data:ByteArray = new ByteArray(); //Data 정보 담는 배열
var tempData:ByteArray = new ByteArray(); // 임시 배열
m_socket.writeMultiByte("xxx","ASCII"); // 1 . 소켓에 플래그 저장 (3byte)
tempData.writeUTFBytes(uploadFile.name);
data.writeUnsignedInt(tempData.length); // 파일이름 크기 갱신
data.writeBytes(tempData, 0, tempData.length); // 파일 이름 갱신
tempData.clear();
data.writeUnsignedInt(uploadFile.size); // 현재 데이터 크기 저장(4바이트)
data.writeBytes(dt, 0, dt.bytesAvailable); // 소켓에 데이터 저장
m_socket.writeUnsignedInt(data.length); // 소켓에 데이터 크기 저장
m_socket.writeUnsignedInt(McsCMD.CMD_SND_MOV); // 소켓에 커맨드 저장 (4byte)
m_socket.writeBytes(data, 0 , data.length); // 소켓에 데이터 저장
if (firstFlag){
v_filemanager.currentFileTotalSize = getFileSize(uploadFile.size ,m_socket.bytesPending, dt.length); v_filemanager.firstFlag = false;
}
v_filemanager.currentFileSize = v_filemanager.currentFileSize + m_socket.bytesPending;
m_socket.flush();
}else{
Alert.show("대상에 연결되어있지 않습니다.", "확인");
}
}
'공부방 > Flex' 카테고리의 다른 글
[Flex] Custom AIR updater interface using ApplicationUpdater (0) | 2012.07.20 |
---|---|
[Flex] ApplicationUpdater 클래스로 Adobe AIR 자동 업데이트 (0) | 2012.07.20 |
Communicating between Flash Player and Adobe AIR with sockets (0) | 2012.07.13 |
[Flex] Combobox 텍스트 입력 자동 완성 (0) | 2012.04.09 |
[Flex] Object의 Key와 값을 동적으로 적용하기 (0) | 2012.03.28 |