강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

안샘님의 프로필 이미지
안샘

작성한 질문수

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

Session #2

OnAcceptHandler 관련 질문

작성

·

240

0

OnAcceptHandler가 static으로 정의되어 있는데 이 때 안에 있는 session 인스턴스도 1개만 성생이 되나요? 만약에 아닐 경우 각각의 쓰레드가 OnAcceptHandler를 호출면서 각각의 session 인스턴스를 가지고 있을텐데 굳이 session 안에서 동시성 문제를 해결하기 위해 lock을 해줘야 되나요?

답변 1

2

Rookiss님의 프로필 이미지
Rookiss
지식공유자

만드는 시점을 생각하면 안 되고 나중에 사용하는 시점을 생각해야 합니다.
session은 실질적으로 클라한테 데이터를 보내는 창구인데
MMO 컨텐츠에서 주변에 일어나는 이동, 전투, 스킬 등의 패킷은 물론
귓말이나 각종 이벤트 패킷들이 난무하기 때문에
session 내부의 코드가 싱글쓰레드로 실행될거라는 기대를 하면 안 됩니다.

안샘님의 프로필 이미지
안샘

작성한 질문수

질문하기