应用程序监听的端口

时间:2012-05-14 17:06:16

标签: windows networking network-programming

我有一个我正在测试的应用程序在端口1025上通过网络侦听请求。我任意选择此端口并且很容易更改,我担心的是我的应用程序将与其他系统进程冲突那个港口。我的两个主要问题如下:

  1. 是否存在使用可能与我的应用程序冲突的端口1025的常见系统进程?
  2. 假设1)的答案是肯定的,那么我的应用程序可以安全使用的另一个不太常用的端口或端口范围是什么?

2 个答案:

答案 0 :(得分:1)

任何公司都无法注册49152 – 65535范围内的任何端口,因此您更有可能不会遇到任何端口冲突问题。

可以在此维基百科链接here找到已注册端口列表等。

如果您不喜欢维基百科,请查看来自互联网号码分配机构(IANA)的this链接。

答案 1 :(得分:0)

在大多数情况下都会这样。例如,如果需要在同一IP地址上运行应用程序的多个实例(侦听器),则仍会发生端口冲突。要克服这种情况,您可以选择将套接字绑定到端口0(=任何端口),以便让系统为您分配端口号。然后,您可以使用getsockname()(BSD套接字API)或等效项来获取系统为套接字分配的实际端口号。显然,端口数量每次都会改变。需要有一种方法可以(通过手动,编程或系统方式)将其侦听端口告知连接器。事实上,在“集合点”服务器的帮助下,许多VoIP /点对点应用程序都以这种方式工作。