Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Программирование под Unix/Linux > Определить, свободен ли порт?


Автор: andrew_121 8.12.2009, 07:13
День добрый.

Есть необходимость узнать, свободен ли порт. Как это сделать?

Спасибо.

Автор: MAKCim 8.12.2009, 11:10
вариант 1: заюзать bind(), если bind() успешен, порт свободен, закрываем сокет и используем порт
но тут, естсественно, будут проблемы с синхронизацией, если проверка возможна во многих потоках/процессах
вариант 2: /proc/net/tcp - список всех tcp сокетов и связанных с ними адресов/портов 

Автор: andrew_121 8.12.2009, 11:20
Цитата(MAKCim @  8.12.2009,  11:10 Найти цитируемый пост)
вариант 1: заюзать bind(), если bind() успешен, порт свободен, закрываем сокет и используем порт

Этот вариант мне подходит, так как это нужно для создания серверного сокета(он один).

Спасибо. Вопрос закрыт.

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