代码之家  ›  专栏  ›  技术社区  ›  Rory

在构建Windows服务时如何选择要使用的端口?(Windows和.NET)【关闭】

  •  25
  • Rory  · 技术社区  · 16 年前

    我正在编写一个Windows服务,它将为计算机上的其他进程公开HTTP RESTful Web服务。这将被部署到我几乎无法/无法控制的各种公司桌面上的许多计算机上。我应该如何选择我的服务应该监听哪个端口?

    我将使其可配置,但需要知道如何选择一些合理的默认值。

    仅供参考,我计划使用.NET 3.5(由于部署原因无法使用4.0)和WCF WCF REST Starter Toolkit .

    更新 :澄清一下,这些是公司的非开发机器。我想选择一个不可能用于其他任何目的的端口。我想从这个名单上 PORT NUMBERS (谢谢@pascal thevent)我应该在动态/私有范围内选择一个

    动态和/或专用端口是从49152到65535的端口。

    那么,有没有更好的方法在这个范围内选择一个端口,或者我只是随机选择?

    3 回复  |  直到 10 年前
        1
  •  14
  •   Pascal Thivent    16 年前

    这个 官方的 通过互联网分配号码管理局(IANA)注册的HTTP分配为:

    • 80:HTTP的标准端口,
    • 8080:HTTP备用(通常由作为非根用户运行的缓存、代理或Web服务器使用)

    以下端口为非官方端口(未在IANA注册),也使用:

    • 8081:HTTP备用
    • 8090:HTTP备用(用作端口8080的备用)

    我不知道您要瞄准的是哪种机器,但是如果它们包括开发机器,我可能会使用8090来最小化可能的冲突。

    工具书类

        2
  •  7
  •   Rory    15 年前

    最终,我们选择了一个注册端口范围内的任意未使用端口(从1024到49151),然后让它可以配置为偶然有人来使用该端口进行其他操作。最好的解决方案就是注册那个端口。

    我们选择不使用动态端口,因为进程能够任意地开始使用它们,所以端口是否可用就不太一致了。

        3
  •  4
  •   Dan Puzey    16 年前

    如果您的服务是HTTP,那么您应该使用端口80——标准HTTP端口。这是大多数REST Web服务的典型特征。

    推荐文章