Определить, используется ли порт TCP / IP под Windows? - PullRequest
1 голос
/ 23 мая 2009

Используемая мной кроссплатформенная среда разработки имеет встроенную функцию, которая должна указывать, доступен ли порт tcp. Тем не менее, функция работает неправильно в Vista и всегда возвращает «доступно».

Есть ли простой способ, такой как функция dll, который я могу использовать для правильного определения этой информации без необходимости .Net?

Ответы [ 3 ]

2 голосов
/ 23 мая 2009

Вы можете попытаться подключиться и прослушивать порт, используя обычные функции Winsock. Если что-то еще прослушивает этот же порт, вы получите сообщение об ошибке (WSAEADDRINUSE из bind()).

0 голосов
/ 23 мая 2009

Просто используйте Win32 Nw apis для перечисления портов TCP.

0 голосов
/ 23 мая 2009

Чтобы избежать добавления дополнительных зависимостей или специфичного для Windows кода, вы можете просто попытаться использовать порт и уловить любые проблемы (например, перехват программ брандмауэра).

...