• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    해결됨

바이트 오더 정렬 안 해도 상관없나요?

23.04.12 19:58 작성 조회수 356

0

패킷 코드를 봐도 딱히 호스트,네트워크 간의 바이트 정렬은 하지 않던데

내부에서 간단히 테스트할 꺼라 처리를 하지 않으신 건가요?

아니면 다른 방법으로 하셨는데 제가 못 찾는 걸까요

답변 1

답변을 작성해보세요.

0

사실 대부분의 머신(서버/클라/모바일 등)에서
네트워크 방식의 정렬을 하는 경우가 없어 사실상 생략해도 됩니다.
정말 그게 필요한 기기가 있다면 한쪽으로 정해서 맞춰주시면 됩니다.

gya0310님의 프로필

gya0310

질문자

2023.04.15

제가 c++로 소켓 프로그래밍을 공부할 때

Send를 하기 전 , hton 계열 함수

Recv를 하고 나서 , ntoh 계열 함수들을 항상 호출해야 한다고 배웠는데요

생략해도 된다고 하시니 갑자기 혼란스러워지네요 ... ㅠ

예를 들어 리틀 엔디언 방식의 기기에서 Send를 하게 되면 Recv하는 쪽에서는 빅 엔디안 방식으로 받기 때문에 데이터를 해석할 때 문제가 생기지 않나요?

당연히 서로 인지하는 방식이 다른 기기끼린 문제가 되고,
그걸 처리하고 싶다면 뒤집는 부분을 넣어주셔야 합니다.
그런데 여기서 빅엔디안 방식으로 받는 기기가 무엇이 있는지 조사해보시면 됩니다.
게임과 관련된 기기에선 거의 항상 리틀 엔디안이고
따라서 이전 프로젝트 코드 분석 경험상 엔디안 뒤집기를 생략하는 경우가 많습니다.