linux的accept函数源码,accept函数
13.2.5? accept函數
處于監聽狀態的服務器在獲得客戶機的連接請求后,會將其放置在等待隊列中。當系統空閑時,將接受客戶機的連接請求。接收客戶機的連接請求使用accept函數,該函數的具體信息如表13.6所示。
表13.6? ?accept函數
頭文件
函數形式int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen);
返回值成功失敗是否設置errno
返回新的套接字文件描述符?1是
說明:
accept函數用于面向連接類型的套接字類型(SOCK_STREAM和SOCK_SEQPACKET)。accept函數將從連接請求隊列中獲得連接信息,創建新的套接字,并返回該套接字的文件描述符。新創建的套接字用于服務器與客戶機的通信,而原來的套接字仍然處于監聽狀態。
accept函數的sockfd參數為監聽的套接字描述符。addr參數為指向結構體sockaddr的指針。參數addrlen為addr參數指向的內存空間的長度。
錯誤信息:
EAGAIN:套接字處于非阻塞狀態,當前沒有連接請求。
EBADF:非法的文件描述符。
ECONNABORTED:連接中斷。
EINTR:系統調用被信號中斷。
EINVAL:套接字沒有處于監聽狀態,或非法的addrlen參數。
EMFILE:達到進程打開文件描述符限制。
ENFILE:達到打開文件數限制。
ENOTSOCK:文件描述符為文件的文件描述符。
EOPNOTSUPP:套接字類型不是SOCK_STREAM。
總結
以上是生活随笔為你收集整理的linux的accept函数源码,accept函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据库开发设计规范及表结构设计原则
- 下一篇: python编程书籍1020python