Options
All
  • Public
  • Public/Protected
  • All
Menu

Class ConnectionAgent

ConnectionAgent는 GameAnvil Server의 GatewayNode와 관련된 작업을 담당한다. 접속(Connect()), 인증(Authentication()) 등 기본 세션 관리 기능 및 채널 목록 등을 제공하며, 서버 구현에 따라 채널 정보를 제공하거나 사용자 정의 기능을 추가적으로 제공할 수도 있다. ConnectionAgent는 Connector가 초기화 될 때 자동으로 생성되며 GetConnectionAgent() 함수를 이용해 얻을 수 있다.

ConnectionAgent가 제공하는 기본 기능은 모두 비동기 함수를 통해 제공된다. 그리고 각 기능의 결과를 얻기 위해 크게 나눠 2가지 방식을 제공하고 있다. 첫째는 listener나 callback을 미리 등록해 놓고 이를 통해 결과에 대한 알림을 받는 방법이고, 나머지는 기능을 요청 할 때 알림을 받을 callback을 같이 전달하는 방법이다. 두가 방법을 같이 사용하는 것도 가능하고 목적에 따라 listener나 callback을 여러개를 등록하여 사용할 수도 있다.

Hierarchy

  • ConnectionAgent

Implements

Index

Methods

AddCallback

  • AddCallback<T>(message: {}, callback: (agent: ConnectionAgent, msg: T) => void): void
  • 특정 Message에 대한 callback을 등록한다. 특정 Message의 패킷을 수신한 경우 등록된 callback이 호출된다.

    Type parameters

    • T: IMessage

    Parameters

    Returns void

AddListener

  • IConnectionListener 상속받은 ConnectionListener를 등록한다.

    Parameters

    Returns void

AddOnDisconnect

AddOnError

AddUndefinedProtocolCallback

  • AddUndefinedProtocolCallback(resMsgId: number, callback: (agent: ConnectionAgent, packet: Packet) => void): void

Authenticate

  • GameAnvil Server에 인증을 요청한다. 인증에 성공해야 GameAnvil Connector의 다른 기능을 사용할 수 있다.

    Parameters

    • deviceId: string

      사용자 기기를 식별 할 수 있는 고유 ID. 같은 사용자의 중복 접속을 체크하는데 사용된다. 서버 구현에 따라 사용하지 않을 수 있음.

    • accountId: string

      사용자 계정을 식별 할 수 있는 고유 ID.

    • password: string

      사용자 계정의 password. 서버 구현에 따라 사용하지 않을 수 있음.

    • Optional payload: Payload

      추가 정보. 서버 구현에 따라 사용하지 않을 수 있음.

    • Optional callback: (agent: ConnectionAgent, resultCode: ResultCodeAuth, loginedUserInfoList: Array<LoginedUserInfo>, message: string, payload: Payload) => void

      결과를 전달받을 callback

    Returns void

AuthenticateAsync

  • GameAnvil Server에 인증을 요청한다. 인증에 성공해야 GameAnvil Connector의 다른 기능을 사용할 수 있다. Authenticate의 Async 버전

    Parameters

    • deviceId: string

      사용자 기기를 식별 할 수 있는 고유 ID. 같은 사용자의 중복 접속을 체크하는데 사용된다. 서버 구현에 따라 사용하지 않을 수 있음.

    • accountId: string

      사용자 계정을 식별 할 수 있는 고유 ID.

    • password: string

      사용자 계정의 password. 서버 구현에 따라 사용하지 않을 수 있음.

    • Optional payload: Payload

      추가 정보. 서버 구현에 따라 사용하지 않을 수 있음.

    Returns Promise<AuthenticatePromis>

    인증 요청 결과.

Connect

ConnectAsync

  • GameAnvil Server에 연결한다. Connect의 Async 버전

    Parameters

    • ipAdress: string

      연결할 서버의 주소. (ws://127.0.0.1:11400/gameanvil)

    Returns Promise<ResultCodeConnect>

    결과 코드

ContainsCallback

  • ContainsCallback<T>(message: {}, callback?: (agent: ConnectionAgent, msg: T) => void): boolean
  • 특정 Message에 대한 callback이 등록되어있는지 확인한다.

    Type parameters

    • T: IMessage

    Parameters

    • message: {}

      확인할 Message

    • Optional callback: (agent: ConnectionAgent, msg: T) => void

      callback. 입력 할 경우 입력한 callback의 등록 여부, 입력하지 않은 경우 하나 이상 등록 여부.

    Returns boolean

ContainsListener

  • ConnectionListener 등록되었는지 확인한다.

    Parameters

    • Optional listener: IConnectionListener

      확인할 ConnectionListener. 입력 할 경우 입력한 ConnectionListener의 등록 여부, 입력하지 않은 경우 하나 이상 등록 여부.

    Returns boolean

ContainsOnDisconnect

ContainsOnError

  • Error발생시 호출될 Callback이 등록되었는지 확인한다.

    Parameters

    • Optional callback: (agent: ConnectionAgent, errorCode: ErrorCode, command: string) => void

      Error발생시 호출될 Callback. 입력 할 경우 입력한 callback의 등록 여부, 입력하지 않은 경우 하나 이상 등록 여부.

    Returns boolean

ContainsUndefinedProtocolCallback

  • ContainsUndefinedProtocolCallback(resMsgId: number, callback?: (agent: ConnectionAgent, packet: Packet) => void): void
  • 임의의 Id에 대한 callback이 등록되어있는지 확인한다.

    Parameters

    • resMsgId: number

      확인할 패킷의 Id

    • Optional callback: (agent: ConnectionAgent, packet: Packet) => void

      callback. 입력 할 경우 입력한 callback의 등록 여부, 입력하지 않은 경우 하나 이상 등록 여부.

    Returns void

Disconnect

GetAccountId

  • GetAccountId(): string
  • 인증시 사용한 AccountId를 리턴한다.

    Returns string

    인증시 사용한 AccountId

GetChannelInfo

GetChannelInfoAsync

  • 특정 채널의 정보를 요청한다. 서버에서 지원할 경우 사용할 수 있다. GetChannelInfo의 Async 버전

    Parameters

    • serviceName: string

      채널 정보를 요청할 서비스의 serviceName

    • channelId: string

      채널 정보를 요청할 체널의 ChannelId

    Returns Promise<GetChannelInfoPromise>

    채널의 정보를 요청 결과

GetChannelList

GetChannelListAsync

  • 특정 서비스에서 사용 가능한 채널 목록을 요청한다. GetChannelList의 async 버전

    Parameters

    • serviceName: string

      채널 정보를 요청할 서비스의 serviceName

    Returns Promise<GetChannelListPromis>

    채널 목록을 요청 요청 결과.

IsConnected

  • IsConnected(): boolean
  • 서버 접속 여부를 리턴한다.

    Returns boolean

    서버에 접속한 경우 true, 아닌 경우 false

RemoveCallback

  • RemoveCallback<T>(message: {}, callback?: (agent: ConnectionAgent, msg: T) => void): void
  • 특정 Message에 대해 등록한 모든 callback을 등록 해제한다.

    Type parameters

    • T: IMessage

    Parameters

    • message: {}

      등록한 Message

    • Optional callback: (agent: ConnectionAgent, msg: T) => void

      callback. 입력하지 않을 경우 모든 callback, 입력 할 경우 입력한 callback을 등록 해제.

    Returns void

RemoveListener

  • 등록한 ConnectionListener를 등록 해제한다.

    Parameters

    • Optional listener: IConnectionListener

      등록한 ConnectionListener. 입력하지 않을 경우 모든 ConnectionListener, 입력 할 경우 입력한 ConnectionListener를 등록 해제.

    Returns void

RemoveOnDisconnect

RemoveOnError

  • 등록한 Error발생시 호출될 Callback을 등록 해제한다.

    Parameters

    • Optional callback: (agent: ConnectionAgent, errorCode: ErrorCode, command: string) => void

      등록한 Callback. 입력 할 경우 입력한 callback 해제, 입력하지 않은 경우 등록된 모든 callback 등록 해제

    Returns void

RemoveUndefinedProtocolCallback

  • RemoveUndefinedProtocolCallback(resMsgIndex: number, callback?: (agent: ConnectionAgent, packet: Packet) => void): void
  • 임의의 Id에 대해 등록한 모든 callback을 등록 해제하거나 입력 받은 callback을 등록해제한다.

    Parameters

    • resMsgIndex: number

      등록한 임의의 Id

    • Optional callback: (agent: ConnectionAgent, packet: Packet) => void

      callback. 입력하지 않을 경우 모든 callback, 입력 할 경우 입력한 callback을 등록 해제.

    Returns void

Request

RequestAsync

  • 서버로 패킷 보내고, 응답을 기다린다. Request의 async 버전.

    Parameters

    • packet: Packet

      서버로 보낼 Packet

    Returns Promise<Packet>

    응답으로 받은 Packet.

RequestPb

  • RequestPb<T>(msg: IMessage, callback?: (agent: ConnectionAgent, resMsg: T) => void): void
  • 서버로 Message를 담은 패킷 보내고, 응답을 기다린다.

    Type parameters

    • T: IMessage

    Parameters

    • msg: IMessage

      서버로 보낼 Message

    • Optional callback: (agent: ConnectionAgent, resMsg: T) => void

      응답을 받을 경우 호출될 callback. (선택 사항)

    Returns void

RequestPbAsync

  • RequestPbAsync<T>(reqMsg: IMessage): Promise<T>
  • 서버로 Message를 담은 패킷 보내고, 응답을 기다린다. RequestPb의 async 버전.

    Type parameters

    • T: IMessage

      응답으로 받을 Message의 타입

    Parameters

    • reqMsg: IMessage

      서버로 보낼 Message

    Returns Promise<T>

    응답으로 받은 Message.

Send

SendPb

  • SendPb<T>(reqMsg: IMessage): void
  • 서버로 Message를 담은 패킷 보낸다.

    Type parameters

    • T: IMessage

    Parameters

    • reqMsg: IMessage

      서버로 보낼 Message

    Returns void

Generated using TypeDoc