IT评测·应用市场-qidao123.com技术社区

标题: 大厂口试题之盘算机网络:对于socket编程,accept方法是干什么的,在三次握手中属于第频频? [打印本页]

作者: 徐锦洪    时间: 2025-3-28 04:18
标题: 大厂口试题之盘算机网络:对于socket编程,accept方法是干什么的,在三次握手中属于第频频?
在套接字(socket)编程中,accept 方法是一个服务器端的函数,用于接收客户端的连接请求。当一个服务器通过 bind 函数将一个套接字与一个特定的IP地址和端标语绑定后,接着调用 listen 函数开始监听该套接字上的连接请求。一旦有客户端尝试建立连接,服务器端就会调用 accept 函数来接受这个连接请求,并为这个新的连接创建一个新的套接字,这个新套接字专门用于与该客户端通信。这意味着服务器可以同时处置处罚多个客户端的连接,每个连接都对应一个独立的套接字。
至于三次握手(Three-Way Handshake),这是TCP协议中建立连接的过程,发生在客户端与服务器之间,确保双方都准备好进行可靠的数据传输。accept 函数并不直接对应三次握手的某一步,而是发生在握手过程之后。详细来说:
在TCP三次握手成功完成后,服务器端的 accept 调用才会返回,此时服务器得到了一个新的套接字,这个套接字就用于与刚刚完成握手的客户端进行数据传输。因此,accept 可以视为服务器端对已完成三次握手的连接请求的一种响应和采取,但其本身并不直接参与三次握手的任何一个步骤。
accept 做了什么内容,这里就要提到半连接队列和全连接队列了
半连接队列(Syn Queue)

全连接队列(Accept Queue)

全连接队列就叫做 accept queue, 这个队列内容就等着调用accept()函数把内容拿走,所以accept() 是在三次握手之后就行的。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com技术社区 (https://dis.qidao123.com/) Powered by Discuz! X3.4