2013-04-23 2 views
0

서버가 단일 출력 스트림을 통해 여러 파일을 전송합니다. 클라이언트가 바이트 []를 수신하면 파일을 어떻게 추출합니까? 바이트에 자국이 있습니까? 예를 들어, EOF? '\ r \ n'아니면 다른가요? Java 기본 IO, NIO조차도 그렇게 할 수없는 것 같습니다. 단일 IO 채널을 통해 여러 파일을 보내는 것으로 생각합니다. 바이트를 나누기 위해 특수 문자를 삽입해야합니다. 참고하시기 바랍니다.Java IO 스트림의 여러 파일

+0

이 질문입니까? 여러 엔터티를 보내려면 엔터티를 구분해야합니다. –

+0

나는 콜리 전 (collision)을 생성 할 확률이 매우 낮다고 생각한다. 일반 바이트로 삽입 한 차별화 된 파일 (예 : JPEG 파일)은 다음 jpg 파일을 구별하기 위해 'ffff'를 사용하지만, 'ffff'는 JPG 파일. –

+0

특히 "바이너리 데이터를 보내는 중"충돌 가능성이 상대적으로 높을 가능성이 있습니다. 그래서, 예를 들어, HTTP multiparts는 엔티티 간의 GUID를 사용합니다. IMO는 파일을 압축하여 알려진 여러 부분 형식으로 전송하는 것이 좋습니다. 그러나 나는 아직도 그 질문에 대해 명확하지 않다. –

답변

0

멀티 파트 또는 zip (압축 없음 옵션) 스트림에서 스트림을 래핑하면 낮은 레벨의 기능을 찾고 있으므로 마커를 다시 구현할 필요가 없습니다.