在this(相当旧)的文章中,作者说:
“端口阻塞
端口阻止允许应用程序阻止其他应用程序对指定范围内的端口执行特定绑定。阻止端口范围时,应用程序必须选择一个连续范围的端口号,这些端口号介于MaxUserPort设置(默认值为5000)+ 1和49151(对于未安装Service Pack的Windows XP和Windows Server 2003)或65535(对于Windows Server 2003 Service Pack 1)。在阻塞端口范围内,端口不应存在现有绑定。 Windows套接字返回阻塞范围中的最后一个端口号作为句柄。取消阻止(删除块)时,Windows套接字将取消阻止与取消阻止请求具有相同左边缘的范围。“
我从阅读中得到的含义是,应用程序可以使用一些api来设置/取消设置,但是我已经绘制了完整的空白,试图搜索任何此类文档的文档,我也不记得曾经看过这样的功能我的套接字编程日。
在Windows中是否有这样的功能,如果是这样,我们将非常感谢您对文档的指示!
答案 0 :(得分:1)
winsock API本身没有这样的调用,但我相信有LSP feature。另一种(简单但脏的< 3)方法是将bind()绑定到您想要阻止的所有端口。
答案 1 :(得分:0)
您可以通过MaxUserPort注册表值(适用于Vista以后)设置系统上将用于动态客户端(绑定到任何可用套接字)的端口范围。可以为tcp和udp套接字设置动态端口范围。以下链接中的更多详细信息:
因此,您可以根据需要设置范围(允许)