确定Windows下是否已在使用TCP / IP端口?

时间:2009-05-23 06:23:29

标签: windows sockets windows-vista tcp

我使用的跨平台开发环境有一个内置函数,用于指示tcp端口是否可用。但是,该功能在Vista下出现故障并始终返回“可用”。

是否有一种简单的方法,例如dll功能,我可以用来正确地确定这些信息而不需要.Net?

3 个答案:

答案 0 :(得分:2)

您可以尝试使用常用的Winsock函数绑定并侦听端口。如果其他内容已在同一端口上侦听,则会出现错误(bind()中的WSAEADDRINUSE)。

答案 1 :(得分:0)

为了避免引入添加的依赖项或特定于Windows的代码,您可以简单地尝试使用该端口并捕获任何问题(例如防火墙软件拦截)。

答案 2 :(得分:0)

只需使用Win32 Nw apis枚举TCP端口。