해결된 질문
작성
·
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
new GameSession()로 만들고 싶지만
ServerCore는 서버 엔진에 해당하는 부분입니다.
컨텐츠 단에서 GameSession으로 쓸지 뭐로 쓸지 예측할 수 없기 때문에
콜백 방식으로 컨텐츠 단에서 결정해서 만들라, 라는 의미입니다.
(가령 SessionManager에서 만드는 코드를 실행할 수도 있겠죠)
문법적으로
_sessionFactory += sessionFactory 가 아니라 _sessionFactory = sessionFactory
는 비슷하면서도 다른데
혹시라도 해당 코드가 여러번 실행되면 전자의 경우 누적이 되어
sessionFactory가 여러번 호출될 수 있습니다.
0