我想知道服务器应用程序是否总是在同一端口上回答?我曾经在某个地方读到过,为了保持对“监听”端口的侦听,服务器将使用不同的端口。有人能提供更多细节吗?
谢谢!
(address1,port1)
对,另一侧建立一个(address2,port2)
对 - 所有这四个值在TCP连接的生命周期内都是固定的。这并不会阻止服务器在接受连接后继续监听端口 - 因为它可以根据客户端使用的(address,port)
对区分任何已建立连接和新连接的数据包。例如,来自Oracle服务器的此netstat
输出显示它正在侦听端口1521,并且还有几个已建立的连接也在使用该端口:Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:1521 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:1521 127.0.0.1:32776 ESTABLISHED
tcp 0 0 192.168.9.126:1521 192.168.9.124:32798 ESTABLISHED
tcp 0 0 192.168.9.126:1521 192.168.9.124:32823 ESTABLISHED
tcp 0 0 192.168.9.126:1521 192.168.9.124:32822 ESTABLISHED
tcp 0 0 192.168.9.126:1521 192.168.9.124:32821 ESTABLISHED
tcp 0 0 192.168.9.126:1521 192.168.9.124:32820 ESTABLISHED
tcp 0 0 192.168.9.126:1521 192.168.9.124:32819 ESTABLISHED
tcp 0 0 192.168.9.126:1521 192.168.9.124:32818 ESTABLISHED
tcp 0 0 127.0.0.1:1521 127.0.0.1:30536 ESTABLISHED
tcp 0 0 192.168.9.126:1521 192.168.9.124:36969 ESTABLISHED
tcp 0 0 127.0.0.1:32776 127.0.0.1:1521 ESTABLISHED
tcp 0 0 127.0.0.1:30536 127.0.0.1:1521 ESTABLISHED
tcp 0 0 192.168.9.126:1521 192.168.9.124:37786 ESTABLISHED
tcp 0 0 192.168.9.126:1521 192.168.9.124:37035 ESTABLISHED
tcp 0 0 192.168.9.126:1521 192.168.9.124:37034 ESTABLISHED
tcp 0 0 192.168.9.126:1521 192.168.9.124:33018 ESTABLISHED