inflearn logo
강의

Course

Instructor

[C# and Unity MMORPG Game Development Series] Part 4: Game Server

Packet Generator #1

XML, Dll 차이점

99

작성자 없음

0 asked

0

XML로 패킷 자동 생성하고

dll로 공용 패킷 만드는거하고 차이점이

뭐에요? c#으로만 하고 싶은데 dll로만

하면 안좋나요?

C# unity 네트워크

Answer 2

0

Rookiss

전혀 다른 2 개념이 살짝 섞였네요.
DLL은 C#이나 C++ 등 기타 프로그램으로 만든 것을 만들어서 부품처럼 쓰는 것이고요.
따라서 DLL로 쓰는 것은 곧 C#으로 직접 구현하는 것과 유사합니다.

질문하신 의도가 "패킷을 바로 C#으로 만들지 않고, XML을 쓰는 이유라면"
XML, json 혹은 나중에 나올 다른 포맷은 전부 '데이터 파일 형태'입니다.
코드의 수정 없이도 데이터의 수정만으로도 동작시킬 수 있다는 의미입니다.
그리고 코드에 그런 데이터 관련 내용을 적으면 '하드 코딩'이 되어 확장성이 떨어집니다.
조금이라도 수정해야 할 상황이 생기면 전면 재배포도 해야 하고요

0

communityai8509

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

XML을 사용하여 패킷 생성을 자동화하는 것과 DLL로 공용 패킷을 만드는 것 사이의 차이점에 대해 간단히 설명드리겠습니다.

  1. XML 패킷 생성 자동화:

    • XML은 데이터의 구조와 내용을 정의하는 데 많이 사용됩니다. 이를 통해 패킷의 형식을 정의할 수 있으며, 패킷의 데이터 구조를 XML 파일로 기록하고 이를 기반으로 코드를 자동 생성하는 방법입니다. 이 방법의 장점은 쉽게 구조를 변경하고 재사용할 수 있다는 점입니다. 또한, XML은 사람이 읽고 이해하기 쉬운 포맷이므로, 패킷 형식을 쉽게 관리할 수 있습니다.
  2. DLL로 공용 패킷 생성:

    • DLL은 Dynamic Link Library의 약어로, 공용 라이브러리를 제작하여 서로 다른 프로그램들에서 사용할 수 있도록 합니다. 패킷 관련 로직을 한 번 작성하여 DLL로 컴파일하면, 다른 프로젝트가 이 DLL을 참조하여 동일한 패킷 로직을 재사용할 수 있습니다. 이는 일관성을 유지하고 코드의 중복을 줄이는 데 효과적입니다.

두 방법 모두 패킷 구조와 관리를 용이하게 하지만, XML은 주로 정의하고 자동화된 코드 생성에 초점을 두며, DLL은 이미 작성된 코드나 로직을 여러 프로그램에서 재사용하기 위함에 초점이 맞춰져 있습니다.

관련 내용을 참고할 수 있는 유사한 질문들이 아래에 있습니다:
1. 패킷 클래스 관련 질문입니다.: 이 게시물에서는 네임스페이스와 클래스 선언에 대한 이해를 도울 수 있는 내용을 다루고 있습니다.
2. Common 폴더에 PDL.xml을 둬야만 작동합니다.: PDL.xml의 위치와 관련된 문제를 해결하는 방법을 소개합니다.

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

TLS 질문드립니다.

0

34

2

SpinLock과 컨텍스트스위칭에 대해 질문 남겨요.

0

39

2

Unity Span

0

65

2

Session 질문입니다

0

74

1

Write Read 커서 키워드

0

69

1

더미 클라이언트 수에 따른 OnDisconnect 발생

0

65

2

네트워크 Send 전담 스레드 배치

0

94

2

UnhandledException 으로 서버 터지는 경우

0

82

2

컨텐츠 단, 엔진 단

0

100

1

질문 있습니다

0

73

2

C# 게임서버 3D MMORPG

0

141

2

유니티6 버전

0

94

2

receive하는 부분과 send하는 부분의 차이

0

128

2

커서의 위치의 중요성

0

99

2

C++ 전혀 모르는데 C# 서버

0

164

2

강의에 질문이 있습니다

0

83

2

멀티스레드 이해도 질문

0

90

1

500 vs 500

0

122

3

OnAcceptHandler 액션 함수

0

57

1

이 정도 서버의 객관적인 수준이 궁금합니다.

0

185

2

36. Serialization #3 에서 string (name) 코드 수정 질문

0

78

2

외부 컴퓨터와의 통신 방법이 궁금합니다

0

100

1

스핀락 질문.

0

104

2

안녕하세요 취업 학원 관련해서 문의드립니다.

0

174

2