多用户 Windows 服务器上的端口号处理

Posted

技术标签:

【中文标题】多用户 Windows 服务器上的端口号处理【英文标题】:Port number handling on a multi user Windows server 【发布时间】:2015-09-29 20:59:05 【问题描述】:

我正在开发一种工具,该工具将由同一终端服务器上的多个用户运行。该工具使用 TCP 套接字在多个进程之间进行 IPC。由于该工具的多个实例将由多个登录用户同时运行,我想知道 Windows 服务器上的端口是如何管理的?例如,它们是虚拟端口的概念,然后操作系统可以将其映射到系统范围的唯一端口,还是为不同用户运行的工具需要在用户空间中处理这个问题?

【问题讨论】:

也许你不应该使用 TCP。使用具有更好的命名空间隔离的命名管道。 @usr 我将 zmq 用于 IPC。它不支持 Windows 上的命名管道。 【参考方案1】:

工具的实例都需要监听不同的端口号,或者同一个端口号不同的IP地址。

[假设他们完全在听,虽然没有说明,但这是唯一真正令人担忧的来源。]

【讨论】:

听力不是唯一的问题。任何本地绑定,无论是用于侦听还是连接,都受可用端口的限制。 @RemyLebeau 本地绑定从来都不是必需的,显然,在某些 *** 情况下,我在 25 年的网络编程中从未遇到过。编辑被拒绝。 总是有一个本地绑定,无论是来自bind() 的显式绑定还是来自connect() 的隐式绑定。客户端和服务器都必须小心本地端口耗尽。在某些与 *** 无关的情况下,客户端可能需要使用显式绑定(协议要求等)。 @RemyLebeau 如果本地端口用尽,除了开始关闭一些套接字之外,任何人都无能为力,这不是问题所在。 感谢 EJP。是的,有一个监听套接字。然后我将修改工具以动态获取可用端口。

以上是关于多用户 Windows 服务器上的端口号处理的主要内容,如果未能解决你的问题,请参考以下文章

windows下如何查看和修改MySQL的端口号

请教如何修改svn的端口号

如何在集群中获得处理本次请求的web容器的端口号?

什么是FTP?FTP端口号是多少?FTP的端口号能改吗

怎么查看电脑的端口号

Windows系统 查询已开通的端口号和对外开放端口号