Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Сети > не занятый порт


Автор: chaos 11.8.2005, 17:51
Здрасте!!!
Подскажите можно ли как нибудь средствами вин32 определить номер не занятого сетевого порта.

Заранее благодарен!!!

Автор: Mayk 11.8.2005, 18:03
Попробуй создать серверный сокет. Если не получится, то значит порт занят.

Автор: chaos 11.8.2005, 19:19
Цитата(Mayk @ 11.8.2005, 18:03)
Попробуй создать серверный сокет. Если не получится, то значит порт занят.

в том то и дело что надо узнать без создания серверного сокета

Автор: chaos 12.8.2005, 09:44
скорее всего нет такой функции)))

Автор: Mayk 12.8.2005, 09:58
А почему нельзя серверным сокетом проверить?
И кстати, может тут стоит плясать от обратного - узнать какие порты заняты? Все остальные(начиная с 1025ого) считать свободными. Исходники netstatа брать здесь: http://www.codeproject.com/tools/wnetstat.asp

Автор: TarasCo 12.8.2005, 12:40
Есть прога netstat - она показывает (в том числе) список занятых портов. Прога эта использует iphlpapi.dll. Сделайте также. См GetTcpTable, GetUdpTable и иже с ними.

Автор: JoyEx 12.8.2005, 12:49
Можно сканировать getservbyport(htons(порт++), NULL)

Автор: chaos 12.8.2005, 14:33
Цитата(Mayk @ 12.8.2005, 09:58)
А почему нельзя серверным сокетом проверить?
И кстати, может тут стоит плясать от обратного - узнать какие порты заняты? Все остальные(начиная с 1025ого) считать свободными. Исходники netstatа брать здесь: http://www.codeproject.com/tools/wnetstat.asp

ссылка это конечно хорошо, но где пароль с логином взять? без этого не дают качать smile

Автор: chaos 12.8.2005, 15:00
а все!!! спасибо всем за помошь, зарегался smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)