通常情况下,服务端调用 accept 函数会返回一个新的文件描述符,用于和客户端之间的数据传输 在服务器的开发中,有时会遇到这种情况:当调用 accept 函数接受客户端连接,函数返回失败,对应的错误码是 EMFILE, 它表示当前进程打开的文件描述符已达上限,此时,服务器不能再接受客户端连接 当遇到上述问题,怎么合理的处理呢,下面就来分析一下 建立连接的流程 先简单回顾下客户端和服务器建立连接的流程,具体的如下图所示: 1. 客户端发起 SYN 请求 2. 服务器收到客户端的 SYN 请求后,…