JoinGameServer

public bool JoinGameServer(string serverAddress, string serverPort, bool isReconnect, out ErrorInfo errorInfo);

파라미터

ValueTypeDescription
serverAddressstring인게임 서버 주소 (IsGameRoomActivate 전달받은 서버 주소)
serverPortushort인게임 서버 포트 (IsGameRoomActivate 전달받은 서버 포트)
isReconnectbool재접속 여부 (true)
errorInfoErrorInfo성공/실패 정보

설명

유저가 게임중이던 게임방에 재접속을 시도합니다.

  • 세번째 isReconnect를 true로 주어야 정상적으로 재접속할 수 있습니다.
  • 해당 함수가 true로 리턴되면 인게임 서버와 소켓연결에 성공한 것 입니다.
    실제 재접속은 OnSessionJoinInServer이벤트가 호출되야 완료된 것 입니다.

    재접속 성공했을 때 호출되는 이벤트 관련해서는 인게임 서버 접속 문서를 확인해주세요.

  • 인게임 서버 접속과 동시에 게임방에 재접속 됩니다.

    JoinGameRoom 함수를 호출할 필요가 없고, JoinGameRoom 함수 호출 시 InvalidOperation에러가 발생합니다.

Example

var bro = Backend.Match.IsGameRoomActivate();
var roomInfo = bro.GetReturnValueToJSON();
var addr = roomInfo["serverPublicHostName"].ToString();
var port = Convert.ToUInt16(roomInfo["serverPort"].ToString());
ErrorInfo errorInfo = null;

if(JoinGameServer(addr, port, true, out errorInfo) == false)
{
   // 에러확인
   return;
}

OnSessionOnline

public MatchInGameOnlineSessionEventHandler OnSessionOnline;

전달인자

ValueTypeDescription
argsMatchInGameSessionEventArgs재접속한 세션 정보

MatchInGameSessionEventArgs

ValueTypeDescription
ErrInfoErrorCode에러 정보
Reasonstring에러 정보
GameRecordMatchUserGameRecord세션의 정보 (세션ID, 닉네임, 전적 등)

설명

다른 유저가 게임방에 재접속 성공했을 경우 호출되는 이벤트 핸들러입니다.
자기 자신이 게임방에 재접속 성공했을 때는 호출되지 않습니다.

Example

Backend.Match.OnSessionOnline += (args) => {
    // TODO
};

ArgumentCase

다른유저가 재접속 성공했을 경우
ErrInfo : ErrorCode.NetworkOnline
Reason : "Session Reconnect"
GameRecord : "세션의 정보"