함수 안에 코드를 살펴보면 로그인 요청에 대한 응답을 받을 slot 함수는 self._login_slot이며, 이 함수로 로그인이 성공했는지 실패했는지에 대한 응답을 확인할 수 있습니다.
다만 우리가 _login_slot 함수를 만들기만 했다고 해서 API 서버에서 로그인 처리 결과를 알아서 _login_slot 함수에 전달할 수 있는 것은 아닙니다. 추가로 ‘로그인 응답 처리를 받을 때 사용하는 slot 함수는 이것이다’고 지정해야 로그인 처리에 대한 결과를 해당 slot 함수로 알 수 있게 되는 것입니다. 그 기능을 하는 코드가 바로 self.OnEventConnect.connect입니다. 이 또한 함수이며, 매개변수로 전달하는 이름(_login_slot)을 가진 함수를 로그인 처리에 대한 응답 slot 함수로 지정합니다.
그럼 _login_slot 함수를 구현해 보겠습니다. 그 전에 알아야 할 중요한 점은 응답 slot 함수 이름은 자유롭게 작성해도 되지만, 함수에서 사용할 매개변수의 순서와 개수는 꼭 KOA를 참조해야 합니다. API 서버는 우리 프로그램에 전달해 주는 응답 데이터 규칙을 정해 놓았고, 우리는 그에 맞게 함수를 구성해야 제대로 응답을 수신할 수 있기 때문입니다.
따라서 slot 함수를 구성할 때는 제일 먼저 KOA를 확인하여 사용하는 매개변수와 그 쓰임새를 알아야 합니다. 다음은 KOA에서 제공하는 OnEventConnect 설명입니다.
[OnEventConnect( ) 이벤트]
OnEventConnect(
long nErrCode // 로그인 상태를 전달하는데, 자세한 내용은 아래 상세 내용 참고
)
로그인 처리 이벤트입니다. 성공이면 인자 값 nErrCode가 0이며 에러는 다음과 같은 값이 전달됩니다.
nErrCode별 상세 내용
-100 사용자 정보 교환 실패
-101 서버 접속 실패
-102 버전 처리 실패
▲ 그림 3-67 OnEventConnect( ) 이벤트(KOA > 개발 가이드 > 로그인 버전 처리 > 관련 함수)
KOA에서 제공하는 예시 코드는 C++라는 프로그래밍 언어로 구성되어 있습니다. 따라서 C++ 코드를 전부 다 이해하지 못하더라도 설명을 보면서 파이썬에서는 어떻게 사용할지 살펴보겠습니다.