问题描述
- 大量网络连接时,服务器使用一个端口接收所有连接的数据和使用一个端口对应一个连接有区别吗?
-
看过一个程序,TCP连接,每个连接都是让客户端用不同的端口,但是想了一下觉得没什么必要,比如HTTP服务器就是一直用80端口处理所有的连接,也都处理得很好。所以就有了题目上的问题,请知道的人指教一下,谢谢!
解决方案
补充一下说明吧,对于IP层来说,只负责把数据送到节点上,而端口就是标识节点上的应用。所以对于不同的应用通讯,肯定不能用一个端口。
但对于一个应用来说,可以用一个端口。根据客户端的端口区分不同的连接。
解决方案二:
不一样,机制的区别
比如80端口,在 web 方式下,你的程序会对每一个用户都产生一个副本。就造成了多个程序监听一个端口的现象
但网络通讯上是不允许的
解决方案三:
不同的应用也可以复用端口,其实对于IP层以下,根本不区分什么端口不端口的。说白了端口这个概念只是为了隔离不同的通讯会话而人为设立的概念。
但是为什么要隔离呢,隔离有很多好处,比如说容易调试,容易移植程序。
解决方案四:
对于连接本身来说是没有区别的。但在Port选择上是有区别的。前者对应临时端口,后者对应预分配的固定端口。
解决方案五:
侦听一个端口,来了请求,用一个新的端口通信。
时间: 2024-09-15 10:16:21