• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

C#의 BinaryFormatter로 패킷 송수신을 해도 될까요?

22.11.07 22:19 작성 조회수 376

0

안녕하세요 루키스님 강의 잘 듣고 있습니다!

다름이 아니라

C#의 BinaryFormatter 클래스를 사용하면 사용자 정의 클래스를 통으로 직렬화 및 역직렬화를 할 수 있다는 것을 알게 돼서 몇 가지 질문을 드리고자 합니다.

(물론 해당 BinaryFormatter는 상호운영성이 떨어지며 멤버 변수에 Serialize 속성을 붙여줘야 한다는 단점이 있습니다.)

 

1.

C# 끼리에서의 통신을 한다는 가정하에 BinaryFormatter으로 패킷을 직렬화 및 역직렬화 하여 통신을 할 수는 있나요?

2.

1번에서 만약 된다면 멤버변수를 하나씩 BitConverter 하는 것보다 한 번에 사용자 정의 클래스를 통으로 직렬화하는 게 더 좋다고 생각하는데 혹시 단점이 있을까요?

 

 

 

답변 1

답변을 작성해보세요.

4

프로그래머는 질문에 의존하기보단, 궁금한게 있으면 실험 정신이 투철해야 합니다.
따라서 .. 1번은 실제로 해보시면 알 수 있겠죠!
다만 제 아주 먼 기억에 BinaryFormatter 등으로 Serialize하는 것은
데이터 저장에는 유용하지만 패킷으로 쓰기엔 잡다한 데이터가 너무 많았던 기억이 있습니다.

그리고 어차피 직접 만들기보단, Part7에서 protobuf로 교체해서 사용할 예정이니
패킷 직렬화에 대한 내용은 이론적으로만 아시면 되겠습니다.