connect函数返回值

对于客户机而言,要与服务器进行通信,需要向服务器发出连接请求。connect函数用于完成这项功能,该函数的具体信息如下表所示。


头文件

<sys/types.h>

<sys/socket.h>

函数形式

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

返回值

成功

失败

是否设置errno

0

−1

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

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

错误信息:

整数

描述

13 EACCES, EPERM 用户试图在套接字广播标志没有设置的情况下连接广播地址或由于防火墙策略导致连接失败。
98 EADDRINUSE本地地址处于使用状态。
97 EAFNOSUPPORT参数serv_add中的地址非合法地址。
11 EAGAIN没有足够空闲的本地端口。
114 EALREADY套接字为非阻塞套接字,并且原来的连接请求还未完成。
9EBADF 非法的文件描述符。
111 ECONNREFUSED远程地址并没有处于监听状态。
14 EFAULT 指向套接字结构体的地址非法。
115 EINPROGRESS套接字为非阻塞套接字,且连接请求没有立即完成。
4 EINTR 系统调用的执行由于捕获中断而中止。
106 EISCONN 已经连接到该套接字。
101 ENETUNREACH网络不可到达。
88 ENOTSOCK 文件描述符不与套接字相关。
110 ETIMEDOUT 连接超时

  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值