• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

Connector.Connect 질문입니다.

21.11.05 17:52 작성 조회수 293

0

클라에서 Connector를 통해서 연결시도를 할 때, Connector에게 endPoint를 전달합니다

 

Connector에서는 socket에 endPoint.AddressFamily를 전달하는데, 제가 생각하는 것은 IP주소 '만' 전달합니다.

뒤에 SocketAsyncEventArgs args 변수를 선언하고

args.RemoteEndPoint에 endPoint를 한 번 더 전달합니다.

socket.ConnectAsync할 때 args를 전달합니다.

헷갈리는 부분은 endPoint를 두번 전달하는 것입니다.

 

socket에는 IP주소'만' 들어있어서 포트번호를 모르니 args.RemoteEndPoint에 port번호 포함 주소를 다시 준 것 인가요?

답변 1

답변을 작성해보세요.

1

그 부분은 딱히 심오하게 이해하는게 아니고 그냥 그렇습니다.
우리가 endpoint를 알고 있다고 그 주소로 알아서 접속하는게 아니고,
특정 함수를 호출할 때 인자로 넘겨줘야 비로소 그 주소로 접속을 하는 것일겁니다.

C# 네트워크 라이브러리 자체에서
SocketAsyncEvent의 RemoteEndPoint을 채워서
ConnectAsync를 호출하도록 명시하기 때문에 전달을 해준겁니다.