inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

Session #1

23분 질문

240

starkshn

작성한 질문수 134

1

InterLocked질문입니다.

 

33번째 줄처럼 InterLocked.Exchange를 해주어 인자로 ref _disconnected 값을 가져오는데 

 

_disconnected 의 주소값을 가져외서 Exchange를 해주는 것이니까 

_disconnected 가 0일경우 1로 바꿔주는데 1일 경우는 retunr을 하는 것까지는 이해했습니다.

 

그런데 두번째로 사용하려고 하면 _disconnected 가 계속 1인 상태이니까

 

어디선가는 0으로 초기화를 해주어야 다음 클라 세션이 연결을 끊을때 끊을 수 잇는것 아닌가요..?

network unity C#

답변 2

2

Rookiss

그런데 두번째로 사용하려고 하면 _disconnected 가 계속 1인 상태이니까어디선가는 0으로 초기화를 해주어야 다음 클라 세션이 연결을 끊을때 끊을 수 잇는것 아닌가요..?

-> 두번째로 사용하는 상황은 없습니다.
이미 연결이 끊겼으면, 소멸을 할 예정인데
그 찰나의 순간 여러번 Disconnect가 들어오는 것을 방지하기 위해 넣은 코드입니다.

1

한건희

이 강의에서 Session은 재활용 되지 않고 ServerCore.Program.OnAcceptHandler 함수 내에서 1회성으로 생성되어 사용됩니다.

따라서 두번째로 사용되는 상황은 존재하지 않습니다.

다만, Session을 Pooling해서 사용하는 경우는 말씀하신대로 다시 0으로 초기화를 해주는 작업이 필요할 것 같습니다.

C#에서의 RAII

0

67

3

TLS 질문드립니다.

0

80

2

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

0

74

2

Unity Span

0

98

2

XML, Dll 차이점

0

134

2

Session 질문입니다

0

96

1

Write Read 커서 키워드

0

88

1

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

0

85

2

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

0

113

2

UnhandledException 으로 서버 터지는 경우

0

102

2

컨텐츠 단, 엔진 단

0

118

1

질문 있습니다

0

93

2

C# 게임서버 3D MMORPG

0

159

2

유니티6 버전

0

106

2

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

0

154

2

커서의 위치의 중요성

0

111

2

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

0

177

2

강의에 질문이 있습니다

0

93

2

멀티스레드 이해도 질문

0

107

1

500 vs 500

0

148

3

OnAcceptHandler 액션 함수

0

71

1

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

0

205

2

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

0

86

2

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

0

113

1