С автоматически назначить порт - PullRequest
3 голосов
/ 19 мая 2010

Я просто хотел узнать, как использовать 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 автоматически назначать для меня?

Спасибо!

Ответы [ 2 ]

5 голосов
/ 19 мая 2010

Мэтт уже ответил на часть «как назначить свободный порт» (используйте sin_port = 0).

Чтобы ответить на вторую часть, то есть «как посмотреть, что использовалось», используйте getsockname ()

3 голосов
/ 19 мая 2010

Просто используйте значение 0.

address->sin_port = 0

Кроме того, вы можете полностью пропустить этап привязки, если вам все равно, какой интерфейс вы используете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...