inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

Overlapped 모델 (이벤트 기반)

WSAWaitForMultipleEvents 에 대해 약간 궁금한 것이 있습니다.

해결된 질문

687

가나파이

작성한 질문수 52

1

조금 이해를 못한 부분이 있습니다. while문을 돌면서 WSAWaitForMultipleEvents에 도달했을 때  timeout 조건을 WSA_INFINITE로 걸게 되면 이 지점에서 block되는 것과 같아지나요?  그러면 비동기 논블락 소켓을 사용하는 이점이 사라지게 되는 것인지 문득 궁금해졌습니다.

더불어서 혹시 취업 특강은 다음 주에 나오는걸까요..? ㅎㅎ

network MMORPG windows-server

답변 1

1

Rookiss

말씀대로 1개 쓰레드만 운영하고 거기서 WSA_INFINITE를 바로 wait을 박아버리면
블로킹 소켓과 비슷한 코드 흐름이 되긴 합니다.
실제로 그래서 IOCP 등 더 우월한 방법을 사용하게 됩니다.

하지만 약간의 차이가 있다면
1) wait하는 시점을 우리가 정할 수 있고
2) infinite가 아닌 값을 사용하면 딱 원하는 시간만큼을 기다릴 수 있고
3) 입출력 함수를 여러개 걸어놓고 모아서 wait를 한다거나
기타 등등 여러가지 추가 선택지로 인한 장점이 있긴 합니다.

그런데 어차피 overlapped는 iocp를 학습하기 위한
기초 정도에 불과해서, 큰 의미를 둘 필욘 없습니다.

그리고 취업 특강 강의는 지난주에 제출해서
(아마도?) 다음 주 정도에 오픈될 것 같습니다.
보통 강의를 제출하면, 인프런 에디터 분들께서
강의 대표 아이콘도 만들어주시고, 소개 페이지 정리도 해주시고 ,
이런 저런 꾸미는 작업을 해주시는데
비슷한 기간에 너무 강의 제출이 밀리면, 조금 늦어지는 경우도 있습니다.

0

가나파이

답변 정말 감사드립니다. 살짝 이해가 안됐던 부분이 풀렸네요.  늘 자세한 답변을 해주셔서 감사드립니다. 

Memory Pool에서 오버플로우 질문입니다.

0

64

2

포토폴리오 및 진로 관련하여 고민입니다.

0

114

1

포토폴리오 관련 고민입니다.

0

63

1

실무에서도 alloc, 스마트포인터 등을 구현해서 쓰는지 궁금합니다.

0

82

2

성능 테스트 결과

0

103

2

게임 서버 Stateful, Stateless 진로 고민

0

122

1

WaitOnAddress와 Sleep의 차이 질문

0

83

1

궁금한거 있습니다.

0

82

2

JobTimer 구동 스레드

0

107

2

TryPop() 동작 관련 질문

0

81

1

로드맵 C#서버 C++서버 방향성 질문

0

150

2

스레드 id를 출력할떄 메인스레드 id도 출력되나요?

0

73

1

생명주기를 위한 의도적 복사

0

87

2

락프리의 실무에서 사용 질문

0

142

2

32bit threadID와 16비트 상위 WriteFlag에 대해

0

101

2

mutex와 sleep 차이점

0

118

1

실무에서는 어떠한 코드 스타일을 사용하는지 궁금합니다

0

153

2

Stomp Allocator의 Release함수에 대한 질문입니다.

0

96

1

공부법 관련해서

0

184

2

MakeShared 함수 관련

0

114

1

지금까지 서버코어에서 만든 내용에 대해 궁금한 점이 있어서 질문 드립니다.

0

144

2

운영체제관련 질문입니다

0

131

1

send하려는 데이터 크기가 크면 memcpy에서 문제가 발생할 것 같습니다.

0

118

2

메모리 풀 질문있습니다.

0

125

1