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

흑연님의 프로필 이미지
흑연

작성한 질문수

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

Listener에서 새로운 Session을 생성할때마다 각자 다른 Socket이 할당되는 원리

작성

·

217

0

클라이언트가 접속했을때 Listener에서 session.Start(args.AcceptSocket); 을 통해 Session에 Socket을 주입하는데,  

new 하는곳이 없는데 어떻게 Socket을 자동으로 생성해서 AcceptSocket에 할당해서 뿌려주는지 알고싶습니다.

Listen 함수가 호출된 소켓만이 AcceptAsync에서 응답이 왔을때 초기화 해주는 것일까요?

그리고 args.AcceptSocket = null; 로 밀어주는 이유가 있을까요? 다른건 다 초기화 되는데 이것만 초기화되지 않는 이유가 따로 있을까요?

답변 1

0

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

우리가 직접 new를 하진 않지만,
C# .NET 네트워크 라이브러리 내부에서 다 해주고 있는 것입니다.
AcceptSocket = null로 밀어주는 이유도 동일하게
라이브러리 차원에서 요구해서 그런 것이고
그러지 않으면 어떻게 되는지 직접 실습을 해보시기 바랍니다.
(아마도 크래시 났던 것으로 기억합니다)

흑연님의 프로필 이미지
흑연
질문자

감사합니다

흑연님의 프로필 이미지
흑연

작성한 질문수

질문하기