建立socke连接时候出错,问如何获取connect函数的errno?
在connect函数的定义中有一个返回参数errno用来记录错误信息,希望各位大侠告知如何获取errno的值:
(有关errno部分的说明)
connect函数返回值
成功则返回0,失败返回-1,错误原因存于errno中。
错误代码 EBADF 参数sockfd 非合法socket处理代码
EFAULT 参数serv_addr指针指向无法存取的内存空间
ENOTSOCK 参数sockfd为一文件描述词,非socket。
EISCONN 参数sockfd的socket已是连线状态
ECONNREFUSED 连线要求被server端拒绝。
ETIMEDOUT 企图连线的操作超过限定时间仍未有响应。
ENETUNREACH 无法传送数据包至指定的主机。
EAFNOSUPPORT sockaddr结构的sa_family不正确。
EALREADY socket为不可阻断且先前的连线操作还未完成。
[解决办法]
errno是个全局静态量,你直接使用就可以了
在这个文件中 #include <errno.h>
[解决办法]
把它打印出来 然后到error.h里面对应去找
[解决办法]
#include <error.h>
printf( "%d ", errno);