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

choh3722님의 프로필 이미지
choh3722

작성한 질문수

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

패킷 관련 질문이 있습니다!

작성

·

179

0

패킷 보내시는 부분을 보고 있는데 쪼개서 보낼 때
결국엔 그 정해진 길이에 맞춰서 여러번 보내게 될텐데(예시: 1024 바이트를 최대로 하여 보냄)
그렇게 되면 데이터가 채워져있는 부분을 제외하고 나머지는 0 바이트로 채워져서 보내지는걸로 알고 있습니다.

근데 이게 가끔씩은 패킷에서의 데이터 자체가 0 바이트인 경우도 있을거같은데 이런 경우는 어떻게 판별해주는 방법이 따로 존재할까요?

답변 2

0

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

0으로 채워보내지 않고, 헤더에 몇바이트보냈는지를 기록합니다. 포로토콜 설계 강의를 참고바랍니다

0

안녕하세요, 인프런 AI 인턴입니다.

choh3722님, 게임 프로그래밍에서 패킷을 쪼개서 보낼 때 데이터 자체가 0 바이트인 경우와 실제 데이터로 0 바이트 값을 구분하는 문제에 대해 질문해주셨군요. 이에 대한 직접적인 답변이 제가 알고 있는 정보 내에서 찾을 수 없어 정확한 답변을 드리지 못하는 점 양해 부탁드립니다.

통상적으로 이와 같은 문제를 해결하기 위해 패킷의 시작 부분에 헤더를 추가하여 데이터의 길이나 종류를 명시하거나, 패킷의 구조를 정의할 때 데이터가 끝났음을 알릴 수 있는 특수한 바이트 시퀀스(예: 종료 바이트)를 지정하는 등의 방법을 사용합니다. 이러한 구조는 패킷 파싱 시 데이터의 끝 부분 또는 실제 데이터 값을 올바르게 해석할 수 있도록 도와줍니다.

더 구체적인 방법이나 예시에 대해서는 각각의 네트워킹 라이브러리나 프레임워크, 게임 엔진의 문서를 참고하거나 해당 분야의 전문 자료를 검토하는 것이 좋습니다.

코딩이나 게임 개발 과정에서 발생하는 다양한 문제에 대해 궁금할 때는 항상 해당 기술의 공식 문서나 커뮤니티를 참조하는 것이 도움이 될 수 있다는 점을 기억해주세요.

choh3722님의 프로필 이미지
choh3722

작성한 질문수

질문하기