작성
·
217
0
클라이언트가 접속했을때 Listener에서 session.Start(args.AcceptSocket); 을 통해 Session에 Socket을 주입하는데,
new 하는곳이 없는데 어떻게 Socket을 자동으로 생성해서 AcceptSocket에 할당해서 뿌려주는지 알고싶습니다.
Listen 함수가 호출된 소켓만이 AcceptAsync에서 응답이 왔을때 초기화 해주는 것일까요?
그리고 args.AcceptSocket = null; 로 밀어주는 이유가 있을까요? 다른건 다 초기화 되는데 이것만 초기화되지 않는 이유가 따로 있을까요?
답변 1
0
우리가 직접 new를 하진 않지만,
C# .NET 네트워크 라이브러리 내부에서 다 해주고 있는 것입니다.
AcceptSocket = null로 밀어주는 이유도 동일하게
라이브러리 차원에서 요구해서 그런 것이고
그러지 않으면 어떻게 되는지 직접 실습을 해보시기 바랍니다.
(아마도 크래시 났던 것으로 기억합니다)
감사합니다