我正在写一个Windows服务,它将为机器上的其他进程公开一个http RESTful Web服务。 这将被部署到许多我很less/没有控制的企业桌面上的机器。 我应该如何select我的服务应该监听的端口?
我将使其可configuration,但需要知道如何select一些合理的默认(S)。
我打算使用.NET 3.5(无法使用4.0出于部署的原因)和WCF与WCF REST Starter Toolkit 。
更新 :澄清,这些是企业非发展机器。 我想select一个不太可能被其他用途的端口。 我想从这个港口名单(感谢@帕斯卡尔Thivent),我应该select一个在dynamic/私人范围
dynamic和/或私人端口是从49152到65535
那么有没有更好的方法来select这个范围内的一个端口,还是我随便select?
在互联网号码分配机构(IANA)注册HTTP的正式任务是:
以下端口是非官方端口(未在IANA注册),也被使用:
我不知道你的目标是什么样的机器,但是如果它们包括开发机器的话,我可能会用8090来减少可能的冲突。
最终,我们在注册端口范围内(从1024到49151)选择了一个任意未使用的端口,然后使其可配置为某个人来到的地方,并使用该端口进行其他操作。 最好的解决办法就是注册那个端口。
我们选择不使用动态端口,因为进程可以随意开始使用它们,所以端口是否可用会不太一致。
如果你的服务是HTTP,那么你应该使用80端口 – 标准的HTTP端口。 这是大多数REST web服务的典型特征。