2010-03-02 5 views
8

포트 P (TCP 사용)의 원격 호스트에 연결하는 일부 소스 코드를 탐색하고 있습니다. 연결 호출 후 (성공했다고 가정) 연결의 클라이언트 포트 (예 : 클라이언트 포트)를 찾고 싶습니다. 사실, openssh 소스를 탐색하고 있습니다. sshconnect.c에는 timeout_connect를 호출하는 ssh_connect 함수가 있습니다. 원격 호스트 IP, 포트, 로컬 IP를 가지고 있지만 성공적으로 연결 한 후 로컬 (클라이언트) 포트를 알고 싶습니다.연결 호출 후 클라이언트 포트 가져 오기

은 내가 명확했다 희망 답 감사 에 대한 Sapsi 감사합니다

답변

13

그럼 당신은 따로 따로 선택할 수 있습니다, 그래서

struct sockaddr_in local_address; 
int addr_size = sizeof(local_address); 
getsockname(fd, &local_address, &addr_size); 

같은 것을 getsockname을 위해 클라이언트 소켓의 파일 기술자를 먹이보십시오 IP 및 포트의 주소 구조.

관련 문제