socking 프로그래밍 API를 사용하여 클라이언트/서버 응용 프로그램을 작성하고 있습니다.을 사용하면 사용할 포트 번호를 알 수 있습니까?
connect()를 호출하기 전에 클라이언트 측에서 사용할 포트 번호를 알 수 있습니까? 내가 지금 가지고있는 소켓 파일 디스크립터는 socket()을 호출한다. getsockname을 사용하려고했지만 포트 번호는 0뿐입니다.
socking 프로그래밍 API를 사용하여 클라이언트/서버 응용 프로그램을 작성하고 있습니다.을 사용하면 사용할 포트 번호를 알 수 있습니까?
connect()를 호출하기 전에 클라이언트 측에서 사용할 포트 번호를 알 수 있습니까? 내가 지금 가지고있는 소켓 파일 디스크립터는 socket()을 호출한다. getsockname을 사용하려고했지만 포트 번호는 0뿐입니다.
포트 번호가 0
인 경우에도 bind()
을 명시 적으로 호출 할 수 있습니다. 그 후에는 getsockname()
포트를 제공해야합니다.
bind(2)
(포트 = 0 및/또는 addr = 0)을 호출 할 때까지 할당 된 주소/포트가 없습니다. 바인드 한 후 getsockname을 사용할 수 있습니다.
그리고'connect'는 이전에 명시 적으로 호출되지 않았다면'bind'를 의미합니다. –
완전히 소켓 프로그래밍을 처음 사용하는 경우 Beej's Guide to Network Programming을 읽기를 강력히 권장합니다.
그러나 TCP 소켓으로 질문에 대답하려면 (서버가 bind()
도 수행하는) 연결하려는 원격 포트를 알아야합니다. 그러나 일반적으로 (클라이언트 응용 프로그램 프로그래머)는 서버가 회신에 사용하는 포트를 지정하지 않습니다. 클라이언트가 사용할 수있는 포트 번호를 기반으로 TCP 스택에 의해 임의로 선택됩니다.
연결하려는 소켓 또는 쓸 소켓을 의미합니까? – dbeer