어떤 파일이 있으면 얘를 뭐 n개로 조각내고 싶음
근데 그리고 이걸 가져와서 재조립하는데
순차적으로 있는게 아니고 마구잡이로 들어와있는거야
그래서 이걸 순번에 맞게 합쳐야해 이런걸 만드려면
어떤 개념이 필요함?? 자바를 잘 못해서 어떤 자료구조가 필요하고
이런거에 대한 개념이 안잡혀 있음
9개의 댓글
무분별한 사용은 차단될 수 있습니다.
어떤 파일이 있으면 얘를 뭐 n개로 조각내고 싶음
근데 그리고 이걸 가져와서 재조립하는데
순차적으로 있는게 아니고 마구잡이로 들어와있는거야
그래서 이걸 순번에 맞게 합쳐야해 이런걸 만드려면
어떤 개념이 필요함?? 자바를 잘 못해서 어떤 자료구조가 필요하고
이런거에 대한 개념이 안잡혀 있음
rondoletti
기존에 있던 압축관련 라이브러리는 쓰면 안되는거임?
틀딱후
파일스트림으로 하려고함. 정확히는 소켓 통신에서 어떤 파일이 난잡한 순서의 청크로 들어왔을 때 어떻게 하면 문제없이 합쳐질까 이런거
rondoletti
보통 자바로 통신할 때는 잘 들어온다고 가정하고 쓰지 않나? 소켓 통신에서의 청크 순서는 TCP/UDP단에서 생각해야될 문제같은데..
아니면 TCP/UDP에 준하는 프로토콜 설계인거임?
틀딱후
토렌트 엇비스므레하게 만들어보는거라 ㅋㅋ 일부러 개판내고 합쳐보려고 하는거, 프로토콜은 tcp로 그냥 문제 없음
rondoletti
분할할 때 파일 이름 같은곳에 순서를 명시해주고, 이를 참고로 재조립하는 함수를 하나 만들면 될듯?
자료구조가 딱히 필요해보이지는 않긴 함 ㅋㅋ
틀딱후
해쉬맵 같은건 어떰?
rondoletti
파일 하나 자르고 연결하는 기능 자체에는 필요없을거같음
토렌트 비슷하게 만드는거면 보낸 파일 리스트를 관리하는 등의 다른 기능 구현할 때 필요하면 쓰면 될듯?
마왕곰
순서를 알아야만 결국 하나로 조합이 될껀데,
일단 파일이라고 가정한 상태라면 쪼갤때 파일에다가 순서를 맨앞에다 기록해주고
읽어서 처리하면 순서를 알아낼수 있으니까 소팅해서 하면 될꺼 같음
마왕곰
아 네트워크 상에서면 패킷 구조에다가 순서값을 넣어서 같이 보내고
처음에 다운로드 받을때 몇번째 청크까지 와야 완료 라는걸 통신한 다음에 보내면
중간에 패킷 유실같은게 일어나도 다시 달라고 요청해서 받을수도 잇을듯