Microsoft MVP성태의 닷넷 이야기
tcpip socket 여러 랜카드 사용 시 연결 문의 [링크 복사], [링크+제목 복사],
조회: 11495
글쓴 사람
차가워 (like0430 at nate.com)
홈페이지
첨부 파일
 

선생님 안녕하세요.

클라이언트 프로그램으로서 클라이언트 pc에 여러개의 랜카드가 있는데요.
이중에 내부망으로 서버랑 연결되어 있는 특정 랜카드로 tcpip 통신을 하려고 합니다.

IPEndPoint clientEp = new IPEndPoint("나의 랜카트 ip 주소", "임의의 포트"); //랜카드 여러개 중에 내부망으로 서버랑 연결된 랜카드 IP주소
IPEndPoint serverEp = new IPEndPoint("서버ip주소", "서버에서 사용중인 포트"); //서버IP와 포트는 알고 있음

Socket mysocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

mysocket.Bind(clientEp); //바인드는 서버랑 연결된 내 랜카드 주소에 해당하는 걸로
mysocket.Connect(serverEp); //커넥트는 서버 주소에 해당 하는 걸로

위와 같이 코드를 작성하면 맞을가요?

감사합니다.








[최초 등록일: ]
[최종 수정일: 6/8/2022]


비밀번호

댓글 작성자
 



2022-06-08 11시18분
clientEp는 굳이 바인딩을 하지 않아도 됩니다. 왜냐하면 일반적으로는 2개의 랜카드에 대한 라우팅 테이블이 자동으로 구성되어 있을 것이고, 따라서 서버의 IP로 연결할 수 있는 랜카드의 IP가 알아서 바인딩될 것입니다.

물론, 바인딩을 해도 되지만 그런 경우 "임의의 포트"가 비어 있는지 체크해야 하는 번거로움이 있습니다.
정성태

NoWriterDateCnt.TitleFile(s)