• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

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

21.08.10 03:35 작성 조회수 158

0

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

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

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

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

답변 1

답변을 작성해보세요.

0

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

흑연님의 프로필

흑연

질문자

2021.08.10

감사합니다