The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Как вытащить порт, если биндишься на нулевой порт?"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Как вытащить порт, если биндишься на нулевой порт?"
Сообщение от Lonely emailИскать по авторуВ закладки(??) on 11-Янв-05, 13:53  (MSK)
Когда биндишся на нулевой порт, то система делает привзяку сокета к первому свободному порту. А как бы его выцепить, и откуда?

L&MC

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Как вытащить порт, если биндишься на нулевой порт?"
Сообщение от romanSA Искать по авторуВ закладки(??) on 11-Янв-05, 17:05  (MSK)
struct sockaddr_in addr;
socklen_t addrlen;

getsockname(s, &addr, &addrlen);

int port = ntohs(addr.sin_port);

P.S. Естественно, нужно ещё добавить проверку ошибок.


  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "В общем система такова должна быть "
Сообщение от Lonely emailИскать по авторуВ закладки(??) on 12-Янв-05, 11:27  (MSK)
struct sockaddr_in addr;
socklen_t addrlen;

int sd = ...
bind(sd, &addr, sizeof(addr));

и потом, если после привязки нет ошибок, идет твой код

getsockname(s, &addr, &addrlen);

int port = ntohs(addr.sin_port);

PS: И будет счастье-с ... Так?

L&MC

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру