인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

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

작성한 질문수

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

Connector

펙토리 함수가 꼭 필요한건가요? 그냥 세션으로 받으면 안되요?

작성

·

500

·

수정됨

0

public void Connect(IPEndPoint endPoint, Session session)

 

// 사용하는 부분

//connector.Connect(serverEndPoint, () => { return new GameSession(); });

GameSession gameSession = new GameSession();

connector.Connect(serverEndPoint, gameSession);

Func 형 말고 그냥 Session을 참조로 받아서 하면 안되나요? 코드가 돌긴 하던데..

답변 2

0

socket을 멤버 변수로 두지 않는 이유와 같은 이유도 있을 것 같습니다.
Connector를 세션 수 만큼 만드는 게 아니기 때문에 socket을 멤버 변수로 따로 두지 않고 이벤트 객체의 UserToken에 담아서 전달했던 것처럼, SessionFactory라는 Callable 객체를 넘겨서 필요할 때 생성하는 방식인 것이죠.

일종의 매니저 성격이므로 하나의 세션을 멤버 변수로 가지고 있을 이유가 없어 보입니다!

0

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

나중에 가면 컨텐츠 단에서 세션 풀링을 한다거나 다양하게 응용할 수 있기 때문에,
함수로 제공하는게 더 범용적으로 사용하기 좋겠죠

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

작성한 질문수

질문하기