inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)

스킬 #1

스레드 관련 문의드립니다

218

bs Jeon

작성한 질문수 12

0

수업 중 C_MoveHandler에서 멀티 스레드 환경에서 clientSession.MyPlayer와 GameRoom에 대한 방어코드가 필요하다고 설명을 해주셨는데요.

수업에 사용되고 있는 시점의 코드와 테스트 환경에서는 멀티스레드에 의하여 하나의 client session에서 C_MoveHandler을 수행하는 시점에  MyPlayer나 Myplayer가 가르키고 있던 Room을 지우는( session disconnect처리) 경우는 OnSendCompleted(다른 client session에서 요청한 broad cast 메시지 처리 중 에러 발생 케이스)함수에서의 문제 발생에 의한 예외 처리(disconnect) 시점에서만 발생할 수 있다고 생각되는 데 이외에 생각할 수 있는 조건이 있을까요?

( 각 client session별로  session disconnect가 이뤄 지는 곳은 Receive Thread나 Send Thread인데 Receive Thread의 경우 해당 client의 C_MoveHandler를 실행하는 주체이기 때문에 멀티스레드에 의해 해당 client의 정보를 수정하게 될 수 있는 곳은 Send를 처리하는 thread밖에 없을 것 같아서요.)

unity C#

답변 1

0

Rookiss

물론 [수업에 사용되는 시점]의 코드에서는 Room 제거하는 경우가 많이 없지만,
나중에 가면 게임 사양이나 해킹 의심 등으로 킥 하는 등
Room에서 쫓아내는 부분이 더 많이 추가될 수 있으니
하는 김에 미리 챙기는 것이 여러모로 좋습니다.

MessagePack

0

85

1

본인 플레이어 이동 관련 질문

0

49

1

Part7 Part9 질문이 있습니다.

0

72

1

.

0

116

1

.

0

106

2

게임 로직 루프에서 게임 틱 누락으로 인한 높은 CPU 사용 문제

0

92

1

타일 팔레트 깔았는데도 안돼요

0

116

2

2D로 그냥 만들어도 되나요?

0

81

2

지난 강의와 이어지는게 맞을까요?

0

80

2

순환참조 문제로 인해 발생하는 문제는 없을까요?

0

162

2

유니티 클라와 C++서버연동

0

277

2

멀티플레이 테스트 환경 관련 질문입니다

0

207

3

강의 후반부에 순서 동기화를 위해 잡큐를 사용 안 한 부분 질문입니다!

0

150

2

코드 관련한 몇 가지 질문입니다!

0

153

2

3d 프로젝트 이동 동기화 관련

0

323

4

파트 7 스트레스 테스트 질문 드립니다.

1

189

2

맵 이동 방식

0

133

0

맵 이동 관련해서 질문드립니다.

0

91

1

안녕하세요 도저히 알 수 없는 오류가 나와서 질문드려요,,

0

201

2

안녕하세요. 일전에 질문 드린 포폴 준비 관련 질문의 추가 질문입니다!

0

160

1

[팁] 2024년 기준 버전 이슈?

0

455

1

SendBuffer.cs 삭제 후 대체 되는 부분의 장단점?

1

203

1

지금 강의의 유니티 클라를 IOCP 서버와 연동하는 것

0

336

2

PushAfter 사용 질문

0

192

1