문제가 발생하여 인터넷에서 솔루션을 찾으려고 시도했지만 정확하거나 유사한 솔루션을 얻을 수 없습니다. 소켓에서 데이터 패킷을받는 문제는 (물론, 바이트 []로 읽혀질 것입니다.) 이제이 패킷을 파싱하고 싶습니다. 처음 2 바이트는 정수 (타입)이고, 다음 2 바이트는 다시 정수 (페이로드 길이)이며 32 바이트의 페이로드 데이터와 다음 4 바이트는 CRC입니다. 문제는 데이터 패킷을 구문 분석하는 올바른 방법을 얻을 수 없기 때문에 유형, 페이로드 길이를 얻을 수 있습니다. 올바른 형식으로 바이트를 읽는 방법을 알게되면 페이로드 데이터도 읽을 수 있습니다. 그래서 누구나 byte []를 올바른 타입으로 읽는 법을 제안 할 수 있습니다. 미리 감사드립니다. (부분) 페이로드패킷의 자바 바이트 구문 분석
패킷 데이터 포맷 -
렌 유형
2B 부호 짧은
2B 부호 짧은
2B 부호 짧은
2B 부호 짧은
2B 부호 짧은
4B 서명 긴
4B 부호있는 긴
4B 부호있는 긴
4B 부호있는 긴
데이터 형식이나 인코딩에 따라 다릅니다. 예를 들어 XDR 또는 다른 인코딩입니까? 이것은 더 많은 정보 없이는 정말로 답할 수 없습니다. BTW : 페이로드가 32 바이트 인 경우 왜 페이로드 길이가 있습니까? –
@Mark : 페이로드는 가변 길이 일 수 있으므로 페이로드의 길이를 나타내는 필드가 있습니다. 그러나 그것이 장애물이되어서는 안됩니다. 바이트 순서는 빅 엔디안입니다. – Reader
@ug_ 추가 정보가 있으면 답을 취소 취소 하시길 바랍니다 –