LanServer, LanClient는 1.7 버전부터 퇴역 되었습니다.
LanServer, LanClient의 역할을 NetServer, NetClient가 대신 합니다.
8.11.6 Lan Module 에서 1.7 Net Module로 변경시 주의사항
NetClient.Connect() 호출시 thread model 지정이 필요 합니다.
호출 시 m_userWorkerThreadModel에 파라미터를 넣어 user callback이 여러 스레드에서 받아질 수 있게 해야합니다.
혹은 m_externalUserWorkerThreadPool 파라미터에, 이미 만들어 둔 스레드풀 객체를 붙입니다. 이 스레드 풀은 여러 스레드를 가집니다.
void CFarmClient::Connect() { CNetConnectionParam p1; p1.m_protocolVersion = CFarmSettings::GetSharedPtr()->GetFarmVersion(); p1.m_serverIP = L"localhost"; p1.m_serverPort = CFarmSettings::GetSharedPtr()->GetFarmServerPort(); p1.m_timerCallbackIntervalMs = 1000; // m_lanClient의 이벤트 처리를 user worker thread pool에서 처리하기 위해. // 그리고 FrameMove를 호출 할 필요가 없게 하기 위해. p1.m_userWorkerThreadModel = ThreadModel_MultiThreaded; ErrorInfoPtr outerror = ErrorInfoPtr(new ErrorInfo); m_lanClient->Connect(p1, outerror); }
서버간 통신 사용시 기존 TCP통신에서 UDP base 통신으로 변경 되었습니다.
UDP Port 관련 방화벽 작업이 필요합니다.
8.21.6 Lan Module 에서 1.7 Net Module로 변경방법
1.7 라이브러리를 준비합니다.
라이브러리는 <설치 폴더>/ProudNet/lib/ 에 있습니다.
함수명을 Lan 에서 Net 으로 변경 합니다.
변경 대상은 클래스, 함수, 메소드 모두 포함 합니다.
대부분 1:1 matching 이라 큰 변화 없이 전환이 가능합니다.
8.31.6 Sample/SimpleLan 예제를 1.7로 마이그레이션 하는 예제
LanCommon → NetCommon
UUID → PNGUID
Guid::From(guid) → Guid(guid)
LanServer → NetServer
CLanServerEventSink → CNetServerEventSink
OVERRIDE → PN_OVERRID
CLanServer → CNetServer
CStartLanServerParameter → StartServerParameter
p1.m_tcpPort = g_ServerPort → p1.m_tcpPort .Add(g_ServerPort
LanClient → NetClient
CLanClient → CNetClient
ILanClientEvent → INetClientEvent
OVERRIDE → PN_OVERRID
CLanClient::Create() → CNetClient::Create()
CLanConnectionParam → CNetConnectionParam
ProudNetServer.h → ProudNetClient.h