인프런 커뮤니티 질문&답변
작성자 없음
작성자 정보가 삭제된 글입니다.
Connector.Connect 질문입니다.
작성
·
438
0
클라에서 Connector를 통해서 연결시도를 할 때, Connector에게 endPoint를 전달합니다
Connector에서는 socket에 endPoint.AddressFamily를 전달하는데, 제가 생각하는 것은 IP주소 '만' 전달합니다.
뒤에 SocketAsyncEventArgs args 변수를 선언하고
args.RemoteEndPoint에 endPoint를 한 번 더 전달합니다.
socket.ConnectAsync할 때 args를 전달합니다.
헷갈리는 부분은 endPoint를 두번 전달하는 것입니다.
socket에는 IP주소'만' 들어있어서 포트번호를 모르니 args.RemoteEndPoint에 port번호 포함 주소를 다시 준 것 인가요?
퀴즈
네트워크 기초 이론 학습이 서버 프로그래밍에 중요한 이유가 무엇일까요?
서버 하드웨어 선택에 도움이 되어서
동시 접속 처리 및 해킹 방어 등 안정성 확보를 위해
데이터베이스 설계를 더 효율적으로 할 수 있어서
클라이언트 UI 디자인 실력을 향상시켜서
답변 1
1
그 부분은 딱히 심오하게 이해하는게 아니고 그냥 그렇습니다.
우리가 endpoint를 알고 있다고 그 주소로 알아서 접속하는게 아니고,
특정 함수를 호출할 때 인자로 넘겨줘야 비로소 그 주소로 접속을 하는 것일겁니다.
C# 네트워크 라이브러리 자체에서
SocketAsyncEvent의 RemoteEndPoint을 채워서
ConnectAsync를 호출하도록 명시하기 때문에 전달을 해준겁니다.





