2010-05-19 2 views
2

특정 포트 번호가 제공되지 않은 경우 C를 사용하여 자동으로 빈 포트를 할당하는 방법 (사용 된 포트 참조)을 알고 싶었습니다.C가 자동으로 포트를 지정합니다.

struct sockaddr_in address; 
address->sin_family = AF_INET; 
address->sin_addr.s_addr = INADDR_ANY; 
address->sin_port = htons(port); 

을하지만 어떻게 내가이 sin_port 할당을 대체하고 C가 자동으로 나를 위해 할당 할 수 있습니다 : 예를 들어

, 나는이 사용하고?

감사합니다.

답변

4

Matt는 이미 "무료 포트 할당 방법"부분 (sin_port = 0 사용)에 응답했습니다. I는 0의 값이 작업을 수행 할 것이라고 주장 어디서나 찾을 수가 없습니다 -

은, "사용 된 것을 볼 수있는 방법"이것에 대한 getsockname()

+0

고마워,이 사람이 질문에 완전히 대답했다. – Gary

3

그냥 0의 값을 사용하십시오.

address->sin_port = 0 

또는 인터페이스를 사용하지 않는 경우 바인딩 단계를 건너 뛸 수 있습니다.

+0

감사를 사용하는 두 번째 부분, 즉 대답합니다. – Gary

관련 문제