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

김지수님의 프로필 이미지
김지수

작성한 질문수

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

Session #4

Fuc<Session> _sessionFactory 관련

해결된 질문

작성

·

177

1

안녕하세요! sessionFactory 관련 질문드립니다!

Listener에서 Accept 후 Session을 만들어주는 부분에서  _sessionFactory를 Func<Session>으로 만드는 이유가 궁금합니다!

단순히 Session _sessionFactory; 로 만들어 Init 할 때 인자를 Session 클래스로 받고 server에서는 만들고자 하는 Session을 람다식이 아닌 new GameSession()으로 만들어도 실행이 되더라구요..!

해당 부분이 추후 어떻게 구체적으로 사용될지는 잘 몰라서 이 부분을 Func로 만들어두는 이유가 궁금합니다..!

더불어 문법적인 질문이지만... Connector에서는 _sessionFactory에 구독할 때

_sessionFactory += sessionFactory 가 아니라 _sessionFactory =  sessionFactory로 사용하시던데

사용에는 상관없는 부분일까요?? 

답변 2

3

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

new GameSession()로 만들고 싶지만
ServerCore는 서버 엔진에 해당하는 부분입니다.
컨텐츠 단에서 GameSession으로 쓸지 뭐로 쓸지 예측할 수 없기 때문에
콜백 방식으로 컨텐츠 단에서 결정해서 만들라, 라는 의미입니다.
(가령 SessionManager에서 만드는 코드를 실행할 수도 있겠죠)

문법적으로 
_sessionFactory += sessionFactory 가 아니라 _sessionFactory =  sessionFactory
는 비슷하면서도 다른데
혹시라도 해당 코드가 여러번 실행되면 전자의 경우 누적이 되어
sessionFactory가 여러번 호출될 수 있습니다.

0

김지수님의 프로필 이미지
김지수
질문자

감사합니다!!

김지수님의 프로필 이미지
김지수

작성한 질문수

질문하기