2009-06-24 3 views
0

Netty와 Mina를 연구했지만 이진 스트림을 다시 쓰는 가장 좋은 방법은 혼란 스럽습니다. 예를 들어 XML 대체 및 전달을 허용하는 프록시를 만들고 싶습니다.Java를 사용하여 이진 스트림 다시 쓰기

감사합니다.

+0

좀 더 정확하게 말씀해 주시겠습니까? 스트림을 가져 와서 스트림을 제공하고 그 사이에 데이터를 조작하는 Java 클래스를 작성 하시겠습니까? BTW : XML은 바이너리 데이터가 아닌 일반 텍스트입니다. –

답변

1

나는 당신이 너무 낮은 수준에서 생각하고 있다고 생각합니다. XML은 바이너리의 추상화이므로 "바이너리"가 아닙니다. XML의 스 니펫을 줄 바꿈으로 바꾸려면 패킷의 페이로드 부분을 찌르고 XML 패턴을 찾아야합니다. 간단한 방법은 바이트를 다시 빌드 한 후 정규 표현식을 사용하는 것입니다 콘텐츠를 일시적으로

검색이 끝나고 원하는 내용과 일치하면 교환하고 다시 보낼 항목을 바꿀 수 있습니다.

어려운 부분은 검색을 시작하고 끝낼 수 있도록 컴퓨터에서 나가기 전에 일부 입력을 캐시해야 할 가능성이 높다는 것입니다. 이것이 어려운 이유는 종종 데이터 페이로드의 "시작"과 "끝"을 구성하는 것이 무엇인지 모릅니다.

관련 문제