inflearn logo
강의

Course

Instructor

[C# and Unity MMORPG Game Development Series] Part 7: MMO Content Implementation (Basics of Unity + C# Server Integration)

Protobuf porting (code review)

.

105

작성자 없음

0 asked

0

.

C# unity

Answer 2

0

Rookiss

질문이 조금 애매한데 바이너리 직렬화도 분석을 하려면 데이터 원형을 알아야 합니다.
고전적인 방식은 패딩 없는 struct를 만들어서 그대로 보내고 받는 방법이 있긴 했으나
가변 데이터 처리가 힘들어 별로 좋진 않고
Protobuf를 사용하는 것이 거의 대세입니다.

0

communityai8509

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

게임 개발에서 직렬화 방식은 성능과 효율성, 그리고 상호운용성에 많은 영향을 미치므로 다양한 직렬화 기술들이 사용됩니다. 일반적으로 Xml, Json, Protobuf 같은 포맷은 플랫폼 간의 상호 운용성과 데이터의 가독성 측면에서 많이 활용되고 있습니다.

바이너리 포맷 사용의 장단점
1. 장점: 바이너리 포맷은 일반적으로 두드러진 성능(처리속도와 저장공간)을 제공할 수 있습니다. 이는 네트워크 대역폭이 제약된 환경이나 저장 공간을 최적화해야 하는 상황에서 유리합니다.

  1. 단점: 그러나 바이너리 데이터는 가독성이 떨어지고 디버깅이 어려울 수 있으며, 특정한 기술 스택에 잠금(lock-in)되는 문제가 발생할 수 있습니다. 상호 운용성도 떨어질 수 있어 다양한 환경에서 데이터 전달이 필요한 경우 문제가 될 수 있습니다.

관련해서 바이너리 포맷의 사용 여부와 실제 사용하는 경우에 대한 논의는 다음의 게시물에서도 자세히 다루고 있습니다:

바이너리 직렬화만 사용하기보다는, 필요에 따라 다른 포맷들과 조합하여 사용하는 것이 일반적입니다. 특히 데이터를 다른 시스템과의 연동이 필요하다면 XML이나 JSON 같은 포맷이 유리할 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

MessagePack

0

84

1

본인 플레이어 이동 관련 질문

0

49

1

Part7 Part9 질문이 있습니다.

0

71

1

.

0

116

1

게임 로직 루프에서 게임 틱 누락으로 인한 높은 CPU 사용 문제

0

91

1

타일 팔레트 깔았는데도 안돼요

0

115

2

2D로 그냥 만들어도 되나요?

0

81

2

지난 강의와 이어지는게 맞을까요?

0

80

2

순환참조 문제로 인해 발생하는 문제는 없을까요?

0

162

2

유니티 클라와 C++서버연동

0

277

2

멀티플레이 테스트 환경 관련 질문입니다

0

207

3

강의 후반부에 순서 동기화를 위해 잡큐를 사용 안 한 부분 질문입니다!

0

150

2

코드 관련한 몇 가지 질문입니다!

0

153

2

3d 프로젝트 이동 동기화 관련

0

321

4

파트 7 스트레스 테스트 질문 드립니다.

1

189

2

맵 이동 방식

0

133

0

맵 이동 관련해서 질문드립니다.

0

91

1

안녕하세요 도저히 알 수 없는 오류가 나와서 질문드려요,,

0

201

2

안녕하세요. 일전에 질문 드린 포폴 준비 관련 질문의 추가 질문입니다!

0

159

1

[팁] 2024년 기준 버전 이슈?

0

453

1

SendBuffer.cs 삭제 후 대체 되는 부분의 장단점?

1

200

1

지금 강의의 유니티 클라를 IOCP 서버와 연동하는 것

0

333

2

PushAfter 사용 질문

0

189

1

강의중 GameRoom의 참조값에 대해 질문드립니다.

0

241

1