Proud::CStartServerParameter 클래스 참조
Proud::CStartServerParameter에 대한 상속 다이어그램 :

Public 멤버 함수

PROUD_API CStartServerParameter ()
 

Public 속성

CFastArray< int > m_tcpPorts
 
CFastArray< int > m_udpPorts
 
ServerUdpAssignMode m_udpAssignMode
 
bool m_enableIocp
 
bool m_upnpDetectNatDevice
 
bool m_upnpTcpAddPortMapping
 
bool m_usingOverBlockIcmpEnvironment
 
uint32_t m_clientEmergencyLogMaxLineCount
 
bool m_enablePingTest
 
bool m_ignoreFailedBindPort
 
CFastArray< int > m_failedBindPorts
 
int m_tunedNetworkerSendIntervalMs_TEST
 
bool m_simplePacketMode
 Simple network protocol mode.
 
HostIDGenerationPolicy m_hostIDGenerationPolicy
 
CriticalSectionSettings m_bottleneckWarningSettings
 
- Proud::CStartServerParameterBase(으)로부터 상속된 Public 속성
String m_serverAddrAtClient
 
String m_localNicAddr
 
Guid m_protocolVersion
 
int m_threadCount
 
int m_netWorkerThreadCount
 
EncryptLevel m_encryptedMessageKeyLength
 
FastEncryptLevel m_fastEncryptedMessageKeyLength
 
bool m_enableP2PEncryptedMessaging
 
bool m_allowServerAsP2PGroupMember
 
uint32_t m_timerCallbackIntervalMs
 
int32_t m_timerCallbackParallelMaxCount
 
void * m_timerCallbackContext
 
bool m_enableNagleAlgorithm
 
HostID m_reservedHostIDFirstValue
 
int m_reservedHostIDCount
 
CThreadPoolm_externalUserWorkerThreadPool
 
CThreadPoolm_externalNetWorkerThreadPool
 
bool m_allowOnExceptionCallback
 
bool m_enableEncryptedMessaging
 

상세한 설명

Parameters for NetServer startup.

생성자 & 소멸자 문서화

PROUD_API Proud::CStartServerParameter::CStartServerParameter ( )

생성자 메서드입니다.

멤버 데이타 문서화

CriticalSectionSettings Proud::CStartServerParameter::m_bottleneckWarningSettings

해당 값이 설정되면 NetServer 병목 발생시 경고와 덤프 파일이 생성됩니다. 특별한 경우가 아니라면 함부로 이 값을 설정하지 마십시오.

uint32_t Proud::CStartServerParameter::m_clientEmergencyLogMaxLineCount

서버가 HostID를 발급하는 방식을 지정합니다.

  • default는 HostIDGenerationPolicy_NoRecycle 입니다.

클라이언트가 남겨야 할 비상 로그 라인수입니다.

  • default는 0입니다.
  • 이값을 지정하면, NetClient 에서 SendEmergencyLog 를 호출하는 경우 EmergencyLogServer 로그파일에 해당 라인수 만큼 비상로그가 저장됩니다.
bool Proud::CStartServerParameter::m_enableIocp

FOR TEST USE! DO NOT MODIFY THIS

CFastArray<int> Proud::CStartServerParameter::m_failedBindPorts

m_ignoreFailedBindPort를 true로 했을경우, 이안에 bind 실패한 port목록이 들어가게 됩니다.

  • m_ignoreFailedBindPort가 fasle일때는 값이 채워지지 않습니다.
HostIDGenerationPolicy Proud::CStartServerParameter::m_hostIDGenerationPolicy

HostID 재사용 기능 옵션입니다.

  • HostIDGenerationPolicy_Recycle로 설정되어 있을경우 CNetConfig의 HostIDRecycleAllowTimeMs값에 따라 HostID가 재사용되어 집니다.
  • HostIDGenerationPolicy_NoRecycle로 설정되어 있을경우 INT_MAX까지 Unique한 HostID값을 보장합니다.

기본값은 HostIDGenerationPolicy_Recycle입니다.

bool Proud::CStartServerParameter::m_ignoreFailedBindPort

이값을 true로 했을경우 m_udpports에 이미 사용중인 port가 있을경우 실패하지않고 다음포트를 bind하게 됩니다.

  • 초기값은 false입니다.
  • 실패한 port 목록은 m_failedBindPorts 안에 들어갑니다.
bool Proud::CStartServerParameter::m_simplePacketMode

Simple network protocol mode.

기본값은 false 입니다. 패킷 캡쳐 및 복제 방식으로 더미 클라이언트 테스트를 가능하게 하기 위해서 이 값을 true로 설정하십시오. 단, 서비스가 해커의 공격에 취약해 지며 UDP networking과 direct P2P 통신을 사용할 수 없습니다. (대신 relay 로 전송합니다.) 라이브 서비스를 위해서는 false로 설정하십시오.

패킷 캡쳐와 리플레이 테스트관련 내용: 각각의 더미 클라이언트는 자신의 HostID를 확인할 수 없습니다. CreateP2PGroup() 과 같이 P2P 그룹 관련 함수를 호출할 경우 예상치 못한 상황이 발생할 수 있습니다.

CFastArray<int> Proud::CStartServerParameter::m_tcpPorts

TCP 리스닝 포트 목록.

  • 포트를 여러개 만들어서 여러개의 Listening socket을 생성할수 있습니다.
  • 목록을 채우지 않으면 0이 들어갑니다. 0을 지정하면 TCP 리스닝 포트 한개가 자동 할당됩니다. 자동 할당이 유용한 경우는, 클라이언트가 서버에 접속하기 전에 자동 할당된 포트 번호를 받은 경우, 예를 들어 스트레스 테스트를 위해 불특정 다수의 서버를 띄워야 하는 경우입니다. 이때 클라이언트에게 자동할당된 포트 주소를 알려줘야 합니다. 자동 할당된 포트 번호는 GetServerAddrPort()로 얻을 수 있습니다.
ServerUdpAssignMode Proud::CStartServerParameter::m_udpAssignMode

UDP 호스트 포트 사용 정책입니다.

CFastArray<int> Proud::CStartServerParameter::m_udpPorts

UDP 호스트 포트 목록입니다. m_udpAssignMode가 Proud.ServerUdpAssignMode_PerClient 인 경우 본 목록은 무시됩니다.

m_udpAssignMode가 Proud.ServerUdpAssignMode_Static 인 경우 본 목록은 다음과 같이 작동합니다.

  • 0이 들어있는 배열인 경우: 0이 들어있는 갯수만큼 임의 포트 번호를 가지는 UDP 소켓들이 미리 준비됩니다. 이때 실제 배정된 포트 번호를 얻으려면 CNetServer.GetServerUdpAddrPort()를 사용하면 됩니다.
  • 0 이외의 값들이 들어있는 배열인 경우: 배열에 들어있는 값을 가진 UDP 소켓들이 미리 준비됩니다.
bool Proud::CStartServerParameter::m_upnpDetectNatDevice

클라이언트에서 필요시 universal plug and play(UPNP) 기능을 시도할 것인지에 대한 여부입니다.

  • 기본값은 true입니다.
  • 서버간 통신에서 CNetClient 를 쓰는 경우 불필요할 수 있는데 이때 이 값을 false로 설정해주면 됩니다.
bool Proud::CStartServerParameter::m_upnpTcpAddPortMapping

true이면 클라이언트에서 필요시 universal plug and play(UPNP) 기능을 이용하여 TCP 홀펀칭 연결을 강제 포트 매핑 시킵니다.

  • 이 기능이 켜져 있으면 TCP와의 연결을 안정화 하기 위해 TCP 홀펀칭 연결에 대한 upnp 포트매핑 연결을 제어합니다.
  • 일반적으로 TCP 연결이 열려 있으면 이 기능이 굳이 필요하지는 않습니다. 따라서 기본값은 false입니다.
bool Proud::CStartServerParameter::m_usingOverBlockIcmpEnvironment

서버측 방화벽에서 ICMP 패킷이 오는 호스트가 있을시 그 호스트로부터의 모든 종류의 통신을 다 차단해버리는 '과잉진압형' 정책이 있는 경우 본 값을 true로 설정해 주어야 합니다. 단, Per client UDP assign mode를 사용하는 경우 본 값을 true로 설정하지 않아도 잘 작동할 수 있는데, 이러한 경우 false를 쓰는 것을 권장합니다.

  • 상기 과잉진압형 정책은 별로 권장되지 않습니다. 왜냐하면 TTL을 제한한 패킷 교환이 불가능하기 때문에, 일부 공장에서 나오는 인터넷 공유기(라우터)가 서버를 멀웨어로 감지해버리는 사태가 있을 수 있기 때문입니다.
  • 기본값은 false입니다.