Project

General

Profile

Actions

명령 프로토콜 추가

넷드론 프로토콜은 크게 Order와 Extra 값을 구분하여 인식합니다. 예를 들어 Order가  ID_AUTHORIZE  이고 Extra가  NONE  이 된다면 인증을 시도한다는 의미가 되고 Order가  ID_AUTHORIZE  이고 Extra가  OK  가 된다면 인증이 성공 했다는 의미, Extra가  FAIL  이 된다면 인증이 실패했다는 의미를 가지게 됩니다.

좀더 익숙한 키워드를 사용중이라면 자유롭게 정의하여 사용하세요.

C#과 C++의 열거형 선언은 양쪽 모두 동일한 순서 번호를 가져야 합니다.

public enum PROTOCOL {
    PROTOCOL_NULL = 0,

    PROTOCOL_COMMON_BEGIN = 100,
    ID_AUTHORIZE,
    ID_PING,
    ID_PONG,
    ...
    PROTOCOL_COMMON_END,

    PROTOCOL_CLIENT_BEGIN = 200,
    ...
    PROTOCOL_CLIENT_END,

    PROTOCOL_MAX
}

public enum EXTRA {
    NONE = 0,
    OK,
    FAIL,
    ...

    MAX_EXTRA
}

열거형 선언시  PROTOCOL  및  EXTRA  값이 밀리지 않도록  100200  과 같은 그룹번호를 지정합니다. 이렇게 하면 이후 프로토콜을 추가하여도 전체 프로토콜이 밀리는 것을 방지합니다.

enum PROTOCOL {
    PROTOCOL_NULL = 0,

    PROTOCOL_COMMON_BEGIN = 100,
    ID_AUTHORIZE,
    ID_PING,
    ID_PONG,
    ...
    PROTOCOL_COMMON_END,

    PROTOCOL_CLIENT_BEGIN = 200,
    ...
    PROTOCOL_CLIENT_END,

    PROTOCOL_MAX
};

enum EXTRA {
    NONE = 0,
    OK,
    FAIL,
    ...

    MAX_EXTRA
};

서버에서 정의되는 프로토콜 키워드는 클라이언트의  PROTOCOL  및  EXTRA  와 동일한 순서 번호를 가져야 합니다.

Updated by 강 귀복 about 2 years ago · 7 revisions