작성
·
40
0
강사님께서 34 서비스에 대한 응답예시로
74 20 0F FF 라고 적어주셨는데요.
74: 34 + 40 (긍정응답)
20:
상위 4bit (Parameter length)
하위 4bit (reserved)
0F FF: 한번에 수신할수 있는 최대 byte 수
여기서 74 다음에 오는 20이 어떤 의미인지 설명을 들어도 잘 이해가 안됩니다.
상위 4비트가 parameter length 이고 0x20 이니까..
parameter length 가 2라는 뜻인데
2가 정확히 무엇을 의미하는 것인지요?
답변 2
1
강사님
제 질문은 34서비스 "응답"에 관한 부분인데요. 왠지 34서비스 요청에 대해 답변을 해주신것처럼 느껴집니다.
34 서비스 응답으로 "74 20 0F FF"를 수신하는 경우
74 뒤에 나오는 20 의 "2" 가 어떤 의미인지.. 좀 궁금합니다.
74 뒤에 20이 dataFormatIdentifer 가 맞나요??
0
안녕하세요, 종혁님 !
우선 34 다음에 오는 parameter는 dataFormatIdentifer를 의미합니다. 문서를 확인해보면 상위 니블은 압축방식, 하위 니블은 암호화 방식을 의미합니다. 제조사마다 압축방식을 사용할 수도 있고 사용하지 않을 수도 있습니다. 만약 압축방식과 암호화 방식을 사용하지 않는다면 해당 값이 00일 것이고, 압축방식을 변경함에 따라 값이 바뀔 수도 있습니다. 해당 값은 제조사에 따라 다르며, 2가 정확히 의미하는 바가 있는 것은 아닙니다. 우선 00이 아니기 때문에 특정 압축 방식을 사용했구나라고 이해하시는 것이 좋을 것 같습니다. 실제로 개발하다보면 소프트웨어 패키지에 압축 방식을 사용하여, 시간을 단축시키곤 합니다.
감사합니다. 좋은 하루 되세요
아 34 서비스에 대한 요청으로 잘못 이해했네요,, 죄송합니다.
응답의 경우 해당 byte는 LengthFormatIdentifier를 의미합니다.
해당 바이트의 7~4bit자리는 maxNumberOFblockLength parameter를 의미하고
3~0bit는 반드시 '0' 입니다. (고정)
문서를 직역하면, transferdata 에 요청 메시지에 포함할 최대 데이터 바이트 수(
maxNumberOfBlockLength
)를 지정합니다.--> 제가 이해한 바로는 client side에서 해당 byte에 대한 size를 지정해놓고 해당 byte보다 큰 값이라면 transferdata를 하지 않는 것으로 이해하고 있습니다. 이를 통해, 클라이언트와 서버가 데이터 전송 과정에서 일관된 메시지 길이를 유지하고 메모리 주소의 정확성을 보장하도록 합니다.
감사합니다.