假设我有两个进程,两个进程都在侦听端口80(html),等待解压缩,分析和显示的html数据包。 现在系统如何知道哪个进程是html数据包? 例如,似乎Skype正在侦听端口80,而另一个应用程序也是如此。 Skype如何知道"这个数据包适合我?"以及该进程发生在哪个网络层?
答案 0 :(得分:1)
您可以“重复使用”端口。当应用程序崩溃或退出而没有关闭套接字时,系统可以看到该端口仍然“已使用”,因此使用此功能可以实际重新使用它。据我所知,如果多个套接字正在侦听同一端口,则数据包将以伪随机方式传递给它们。我不知道这是否可以可靠使用。
此外,端口不是系统范围内唯一的东西,只有“端口+ IP地址”。因此,如果多个应用程序绑定到不同的网络接口,则可以安全地使用相同的端口。