位置:首页 > 软件操作教程 > 编程开发 > C语言 > 问题详情

C语言 connect()函数

提问人:刘团圆发布时间:2020-12-03

    对于客户端而言,要与服务器进行通信,需要向服务器发出连接请求。connect()函数用于完成这项功能,其原型如下:

    int connect(int sockfd, const struct sockaddr *serv_addr, socklen_t addrlen);


    connect()函数将使用参数sockfd中的套接字连接到参数serv_addr中指定的服务器。参数addrlen为serv_addr指向的内存空间大小。

    如果参数sockfd的类型为SOCK_DGRAM, serv_addr参数为数据报发往的地址,且将只接收该地址的数据报。如果sockfd的类型为SOCK_STREAM或SOCK_SEQPACKET,调用该函数将连接serv_addr中的服务器地址。 

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

    ? EACCES, EPERM:用户试图在套接字广播标志没有设置的情况下连接广播地址,或由于防火墙策略导致连接失败。 

    ? EADDRINUSE:本地地址处于使用状态。

    ? EAFNOSUPPORT:参数serv_add中的地址非合法地址。

    ? EAGAIN:没有足够空闲的本地端口。

    ? EALREADY:套接字为非阻塞套接字,并且原来的连接请求还未完成。

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

    ? ECONNREFUSED:远程地址并没有处于监听状态。 

    ? EFAULT:指向套接字结构体的地址非法。

    ? EINPROGRESS:套接字为非阻塞套接字,且连接请求没有立即完成。 

    ? EINTR:系统调用的执行由于捕获中断而中止。

    ? EISCONN:已经连接到该套接字。

    ? ENETUNREACH:网络不可到达。

    ? ENOTSOCK:文件描述符不与套接字相关。

    ? ETIMEDOUT:连接超时。

继续查找其他问题的答案?

相关视频回答
回复(0)

特邀嘉宾

软件开发工程师——刘团圆

软件开发专业科班出身,擅长软件开发课程培训。

向TA咨询

该嘉宾的QQ群

更多>>
返回顶部
国产电影_2020最新好看的内地国产电影推荐_国产电影排行榜