首页 > 软件操作教程 > 编程开发 > C语言
题目内容

C语言 accept()函数

题目答案

    处于监听状态的服务器在获得客户端的连接请求后,会将其放置在等待队列中。当系统空闲时,将接受客户端的连接请求。接收客户端的连接请求使用acceptO函数,该函数原型如下:

    int bind(int sockfd, const struct sockaddr *my_addr, socklen_t addrlen):

    accept()函数用于面向连接类型的套接字类型SOCK_STREAM和SOCK_SEQPACKET。 accept()函数将从连接请求队列中获得连接信息,创建新的套接字,并返回该套接字的文件描述符。新创建的套接字用于服务器与客户机的通信,而原来的套接字仍然处于监听状态。

    accept()函数的sockfd参数为监听的套接字描述符;addr参数为指向结构体sockaddr的指针;参数addrlen为addr参数指向的内存空间的长度。 

accept()函数常见的错误信息:

    © EAGAIN:套接字处于非阻塞状态,当前没有连接请求。

    © EBADF:非法的文件描述符。

    © ECONNABORTED:连接中断。

    © EINTR:系统调用被信号中断。

    © EINVAL:套接字没有处于监听状态,或非法的addrlen参数。

    © EMFILE:达到进程打开文件描述符限制。

    © ENFILE: 达到打开文件数限制。

    © ENOTSOCK:文件描述符为文件的文件描述符。

    © EOPNOTSUPP:套接字类型不是SOCK__STREAM0

网友评论(共0条评论)

请自觉遵守互联网相关政策法规,评论内容只代表网友观点!

最新评论

点击加载更多评论>>

软件操作 新人注册送三重礼

已有 22658 名学员学习以下课程通过考试

相关视频试题

最需教育客户端 软件问题一手掌握

去 App Store 免费下载 iOS 客户端