이제 클라이언트와 서버가 연결하는 과정을 코드 레벨로 살펴볼 차례입니다. 먼저 서버를 구동하는 코드입니다.
코드 서버를 구동하는 코드 [C++]
CNetServer* s = CNetServer::Create(); // ➊ param.m_tcpPorts.Add(44444); // ➋ param.m_udpPorts.Add(44444); param.m_protocolVersion = Guid( { 0x5dca93f4, 0x8133, 0x44a0,{ 0xb5, 0x7b, 0x75, 0x7d, 0x9c, 0x78, 0xd5, 0x2e } }); // ➌ s->Start(param);
코드 서버를 구동하는 코드 [C#]
NetServer = new NetServer(); // ➊ . .Add(44444); // ➋ . .Add(44444); . = .From({ ... }); // C++ 코드의 ➌과 동일 .Start( );
➊은 서버를 생성하는 과정입니다.
➋는 서버가 네트워크 연결을 받기 위해 사용하는 TCP 리슨 포트(listen port) 값입니다. 출시되는 상업용 게임 서버 중에는 포트를 2개 이상 사용하는 경우도 있어 tcpPorts는 배열 타입입니다.
➌은 서버와 클라이언트가 모두 맞추어야 하는 프로토콜 버전 값입니다. 이 값은 클라이언트와 서버가 같아야 합니다. 이 값이 서로 다르면 클라이언트는 서버에 접속할 수가 없습니다. OnJoinServerComplete에서 “프로토콜 버전이 틀리다.”라는 오류 값을 받을 것입니다.