10.클라이언트에서 서버에 연결하기

우선, 클라이언트 객체를 Proud.CNetClient.Create 로 생성해야 합니다. 그러면 Proud.CNetClient 인스턴스를 받게 됩니다.

그 다음, Proud.CNetClient.Connect를 호출해서 서버 연결 요청을 시작해야 합니다. Proud.CNetClient.Connect는 바로 리턴하는데, 이때부터 Proud.INetClientEvent.OnJoinServerComplete가 도착할 때까지 클라이언트 루프를 돌고 있으면 됩니다.

Proud.INetClientEvent.OnJoinServerComplete 이벤트를 클라이언트에서 받게 되면 서버와의 연결 과정이 끝난 것입니다. 이때 서버와의 연결이 성공했는지, 실패했는지를 판별해야 합니다.

10.1클라이언트에서 서버에 연결하는 동안 발생하는 이벤트

•Proud.CNetClient.Connect가 실행되면 서버에서는 Proud.INetServerEvent.OnConnectionRequest가 도착합니다. Proud.INetServerEvent.OnConnectionRequest에서는 연결 시도를 하는 클라이언트를 거부할 수 있는 기회가 제공됩니다.

•Proud.INetServerEvent.OnConnectionRequest에서 클라이언트 연결 수용을 허락하면 모든 연결 과정이 마치게 되며, 클라이언트에서는 Proud.INetClientEvent.OnJoinServerComplete를 받으며, 서버에서는 Proud.INetServerEvent.OnClientJoin 를 받습니다.

10.2서버 연결 과정에서 커스텀 데이터 주고 받기

•Proud.CNetClient.Connect에서 커스텀 필드 파라메터를 채우면, 그 내용은 Proud.INetServerEvent.OnConnectionRequest 에서 전달받게 됩니다.

•Proud.INetServerEvent.OnConnectionRequest에서 회신용 커스텀 파라메터를 채우면 그 내용은 Proud.INetClientEvent.OnJoinServerComplete에서 전달받게 됩니다.

그림 10-1클라이언트에서 서버에 연결하기 과정