inflearn logo
강의

Course

Instructor

[C# and Unity MMORPG Game Development Series] Part 4: Game Server

Listener

코드 흐름에 대한 질문.

286

klexos4263

3 asked

2

안녕하세요. 강의 유익하게 잘 듣고있습니다. 궁금한 점이 있어서 질문을 올려봅니다.

영상 거의 끝부분에 보면, 서버 프로그램의 while문에서 무한 루프를 돌다가 이벤트가 발생하면 OnAcceptHandler 를 실행시키는 형식으로 되어있는데,

질문은, 서버 프로그램은 Main함수의 while문에서 무한 루프에 빠져있는데, 이벤트가 발생하면 어떻게 while문에서 탈출해서 OnAcceptHandler 함수로 뿅하고 가서 실행하는지 궁금합니다.

unity C# network

Answer 3

3

Rookiss

ㅎㅎㅎ 무한루프 지옥에서는 아무도 빠져나올 수 없습니다.
메인 쓰레드가 아닌 다른 쓰레드가 처리하는 것이죠!
실제로 OnAcceptHandler에 BreakPoint을 걸어두고
쓰레드 상황을 살펴보시면 됩니다.


위 부분을 바꾸면 쓰레드를 왔다갔다 할 수 있습니다.

2

Rookiss

네 비슷합니다.
C#에선 쓰레드 풀에서 관리되는 쓰레드 중 하나를 꺼내쓰게 됩니다.
(C++이었다면 직접 쓰레드를 새로 만들어서 등록을 해놔야 합니다.)

1

klexos4263

답변 감사합니다!

이벤트 함수를 호출하기 위해 운영체제에서 자동적으로 스레드를 하나 만드나 보네요.

TLS 질문드립니다.

0

36

2

SpinLock과 컨텍스트스위칭에 대해 질문 남겨요.

0

41

2

Unity Span

0

67

2

XML, Dll 차이점

0

99

2

Session 질문입니다

0

75

1

Write Read 커서 키워드

0

69

1

더미 클라이언트 수에 따른 OnDisconnect 발생

0

66

2

네트워크 Send 전담 스레드 배치

0

94

2

UnhandledException 으로 서버 터지는 경우

0

82

2

컨텐츠 단, 엔진 단

0

100

1

질문 있습니다

0

73

2

C# 게임서버 3D MMORPG

0

141

2

유니티6 버전

0

94

2

receive하는 부분과 send하는 부분의 차이

0

128

2

커서의 위치의 중요성

0

99

2

C++ 전혀 모르는데 C# 서버

0

165

2

강의에 질문이 있습니다

0

83

2

멀티스레드 이해도 질문

0

90

1

500 vs 500

0

122

3

OnAcceptHandler 액션 함수

0

57

1

이 정도 서버의 객관적인 수준이 궁금합니다.

0

185

2

36. Serialization #3 에서 string (name) 코드 수정 질문

0

79

2

외부 컴퓨터와의 통신 방법이 궁금합니다

0

100

1

스핀락 질문.

0

104

2