我已经创建了一个服务器应用程序,为其客户端动态打开端口。我现在使用一个绑定到端口0的套接字,所以我得到一个随机分配的端口。这工作正常,但缺点是我需要打开防火墙的所有端口进行此过程。限制动态IP端口范围
我宁愿将范围限制在40000-41000之间,并在此范围内选取随机端口。有没有一种方法让OS在这个范围内选择一个自由端口?
对于cource,我可以在这个范围内自己挑选一个端口,如果它是免费的,那就使用它。否则,尝试另一个端口,直到我们找到一个空闲端口。我不认为这是一个很好的解决方案。我可以注册自己的端口,但其他服务也可以预留此范围内的端口。
任何人的解决方案?我使用定制的C#4.5服务器工作在Windows Server 2008 R2系统上。
你怎么能指望客户端在正确的端口号猜? –
我有一个设置端口转发的命令,它用主机名和端口号响应(它已经以这种方式工作)。然后请求者可以连接到端点来做任何想做的事情。无需猜测:-) –
如果您使用的是Windows防火墙,则可以将其配置为允许基于应用程序而不是端口号进行访问。这似乎是一个更简单的解决方案。 –