2. 네트워커 스레드 (Networker Thread) 네트워커 스레드는 네트워크 패킷의 송수신을 담당하는 중요한 구성 요소입니다.
이를 효과적으로 설정하면 서버 성능을 크게 향상시킬 수 있습니다.
ProudNet의 클라이언트(Proud.CNetClient)는 내부적으로 네트워크 I/O를 처리하는 worker thread를 가지고 있습니다. 이는 사용자가 Proud.CNetClient.FrameMove()를 일정 시간마다 호출하지 않아도 네트워크 연결과 ping latency 측정을 원활하게 하는 역할을 합니다.
네트워커 스레드의 수는 서버의 CPU 코어 수와 클라이언트 수를 고려하여 설정합니다. Proud.CLanConnectionParam.m_netWorkerThreadCount에 스레드 수를 설정할 수 있습니다.
일반적으로 코어 수와 같은 수의 스레드를 설정하는 것이 성능에 유리합니다.
네트워커 스레드의 우선순위를 높게 설정하면 네트워크 패킷 처리 속도를 향상시킬 수 있습니다.
3. 서버가 다수의 LAN카드(NIC)를 장착한 경우 다수의 LAN 카드를 사용하는 서버는 네트워크 트래픽을 분산하여 처리할 수 있습니다. 보안을 고려해 일부 NIC만 특정 통신에 사용할 수 있습니다. 이러한 경우에는 서버 시작시 어떠한 NIC를 쓸 것인지를 지정해야 합니다. 만약 지정되어 있지 않는 경우 클라이언트가 서버로 연결은 할 수 있지만 UDP 통신이나 P2P 통신이 정상 작동하지 않을 수 있습니다.
Proud.CNetServer.Start 의 입력 파라미터 Proud.CStartServerParameter.m_localNicAddr 를 통해 사용할 NIC를 지정할 수 있으며, Proud.CNetUtil.GetLocalIPAddresses 를 통해 사용할 NIC들의 로컬 주소 리스트를 얻을 수 있습니다.
4. 공유기(NAT router)나 L4 스위치 뒤에 있는 서버 설정 인터넷 공유기 또는 L4 스위치 뒤에 서버를 둘 경우, 포트 포워딩 설정이 필요합니다.
이 설정을 통해 UDP 통신이나 P2P 메시징이 정상 작동하도록 할 수 있습니다.
포트 포워딩을 설정하지 않으면 Unreliable 메시징 은 항상 TCP를 사용하게 되며,