据我了解,这是客户端发出连接请求时发生的情况:
- 服务器将绑定到特定的端口号。端口号始终绑定到侦听进程。由于只有服务器正在侦听传入的连接,因此我们不需要在客户端进行绑定
- 服务器将在该端口号上继续执行listeninig。
- 客户端将发送一个
connect()
请求。 - 服务器将使用接受请求
accept()
。一旦服务器接受客户端的请求,内核分配服务器进一步随机端口号send()
和receive()
,因为不能用于发送和监听服务器上的相同的端口号,和先前端口仍然是聆听新的联系
考虑到所有这些,服务器如何找出客户端接收的端口?我知道客户端将发送带有源端口和目标端口的TCP段,因此服务器将使用该段的源端口作为其目标端口,但是服务器调用什么功能来查找该端口?是accept()
吗