accept: Invalid argument

本文解析了socket编程中accept函数的使用方法及常见错误原因。详细介绍了两种常见的accept函数调用失败的情况及其对应的解决办法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

对于socket编程,accept函数原型如下:

#include <sys/types.h>          /* See NOTES */
#include <sys/socket.h>

 int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen);


出现accept: Invalid argument 错误,大概有两种情况:

出错情况1: 在参数1处出错,多半情况是sockfd值非法,也即是没有绑定(bind),监听(listen)或者是负值等等;
出错情况2:在参数3处出错,没有给addrlen传入合法的值,或者是没有初始化(addrlen = sizeof(struct sockaddr_in)),也就是说要给addrlen赋值,不能为负数。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值