인프런 커뮤니티 질문&답변

gya0310님의 프로필 이미지
gya0310

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

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

해결된 질문

작성

·

427

0

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

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

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

답변 1

0

Rookiss님의 프로필 이미지
Rookiss
지식공유자

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

gya0310님의 프로필 이미지
gya0310
질문자

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

Send를 하기 전 , hton 계열 함수

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

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

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

Rookiss님의 프로필 이미지
Rookiss
지식공유자

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

gya0310님의 프로필 이미지
gya0310

작성한 질문수

질문하기