패킷 제네레이터

Untitled

여태까지는 패킷 클래스를 직접 정의했지만 이러한 방식은 컨텐츠를 제작할 때마다 직접 패킷 클래스 생성 및 read & write를 정의했지만 이러한 방식은 효율적이지 않다.

Untitled

먼저, 구조는 format팅 한 문자열을 빈 문자열에 더해나가는 식으로 진행된다.

stream 방식으로 패킷을 끝까지 읽는다. → 뎁스 1(패킷)에서 해석한다.

ParsePacket에서 문자열을 만든 후, genPackets 문자열을 이용하여 최종 패킷 클래스를 만들어준다.

Untitled

ParsePacket

만약 , 첫번째로 읽는 의 끝이거나 packet으로 시작하지 않으면 → 종료

패킷name은 첫번쨰로 만나는 패킷의 name 값이 될 것이다. → 만약 패킷 name이 없으면 종료

만약 이 과정까지 통과했으면 ParseMember 메소드로 이동한다.

ParseMember

Untitled