Options
All
  • Public
  • Public/Protected
  • All
Menu

Class ConnectionAgent

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

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

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

AddOnDisconnect

AddOnError

AddOnReconnect

AddOnTryReconnect

  • AddOnTryReconnect(callback: (agent: ConnectionAgent, tryCount: number) => void): void
  • 자동 재접속 시도시 호출될 Callback을 등록한다.

    Parameters

    Returns void

AddUndefinedProtocolCallback

  • AddUndefinedProtocolCallback(resMsgIndex: 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>

    결과 코드

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: {}): void
  • 특정 Message에 대해 등록한 모든 callback을 등록 해제한다.

    Type parameters

    • T: IMessage

    Parameters

    • message: {}

      등록한 Message

    Returns void

RemoveListener

RemoveOnDisconnect

  • RemoveOnDisconnect(): void
  • 등록한 접속 종료시 호출될 Callback을 모두 등록 해제 한다.

    Returns void

RemoveOnError

  • RemoveOnError(): void
  • 등록한 모든 Error발생시 호출될 Callback을 등록 해제한다.

    Returns void

RemoveOnReconnect

  • RemoveOnReconnect(): void
  • 등록한 모든 자동 재접속 완료시 호출될 Callback을 등록 해제한다.

    Returns void

RemoveOnTryReconnect

  • RemoveOnTryReconnect(): void
  • 등록한 모든 자동 재접속 시도시 호출될 Callback을 등록 해제한다.

    Returns void

RemoveUndefinedProtocolCallback

  • RemoveUndefinedProtocolCallback(resMsgIndex: number): void
  • 임의의 Id에 대해 등록한 모든 callback을 등록 해제한다.

    Parameters

    • resMsgIndex: number

      등록한 임의의 Id

    Returns void

Request

RequestAsync

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

    Parameters

    • packet: Packet

      서버로 보낼 Packet

    Returns Promise<Packet>

    응답으로 받은 Packet.

RequestPb

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

    Type parameters

    • T: IMessage

    Parameters

    • msg: IMessage

      서버로 보낼 Message

    • Optional callback: (connectionAgent: 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

UpdateAuthenticationPayload

  • 인증시 사용된 payload 값을 갱신할 때 사용. ex) 주기적 인증정보 갱신시, OnTryReconnect 발생시 호출

    Parameters

    Returns Payload

Generated using TypeDoc