客户端建立连接
服务端声明准备OK 并开始等待接收客户端的连接请求
服务端使用 listen() 表明自己愿意接受连接,并标明最多连接客户端的数量,理解为服务端对系统声明,我已经准备好接受客户端的连接的,最多能接受多少客户端的连接。
然后使用 accept() 开始等待客户端的连接
accept() 函数是在网络编程中使用的一个函数,它用于从处于监听状态的套接字接受一个连接。这个函数在成功接受连接后会返回一个新的套接字描述符,这个新的套接字描述符用于与连接的客户端进行通信。如果发生错误,则返回 -1,并设置 errno 以指示错误类型。
accept()函数的返回值与第一个参数的区别在于,返回值是新的套接字描述符,代表与客户端的连接,而第一个参数是服务器套接字描述符,用于监听连接请求。
accept()函数用于接受一个连接请求。它的第一个参数是一个服务器套接字描述符,这个描述符是通过socket()函数创建的,并且通过listen()函数设置为监听状态,用于监听来自客户端的连接请求。accept()函数从服务器套接字的等待连接队列中抽取第一个连接请求,创建一个与服务器套接字同类的新套接字,并将这个新套接字的描述符作为返回值返回。这个返回值代表了一个新的连接,客户端和服务器之间可以通过这个新套接字进行通信。
简而言之,accept()函数的第一个参数是用于监听连接的服务器套接字描述符,而返回值是一个新的套接字描述符,代表接受到的客户端连接请求