Linux学习笔记 socket accept错误14 Bad address

阅读: 评论:0

Linux学习笔记 socket accept错误14 Bad address

Linux学习笔记 socket accept错误14 Bad address

socket
bind
listen
都正常,在accept时报错accept error:14,Bad address,
代码如下:

	/* Now we can accept incoming connections oneat a time using accept. */struct sockaddr_in client_sockaddr;bzero(&client_sockaddr, sizeof(client_sockaddr));int cfd = accept(g_tcpserver_sfd, (struct sockaddr*)&client_sockaddr,sizeof(client_sockaddr));if (cfd == -1){sprintf(err, "accept error:%d,%s", errno, strerror(errno));return FALSE;}

报错:accept error:14,Bad address,

accept 原型参考1
accept 原型参考2

 #include <sys/socket.h>int accept(int sockfd, struct sockaddr *restrict addr,socklen_t *restrict addrlen);

注意最后一个参数是 socklen_t *restrict addrlen
代码修改为

	/* Now we can accept incoming connections oneat a time using accept. */struct sockaddr_in client_sockaddr;bzero(&client_sockaddr, sizeof(client_sockaddr));socklen_t acceptsize = sizeof(struct sockaddr);int cfd = accept(g_tcpserver_sfd, (struct sockaddr*)&client_sockaddr,&acceptsize);if (cfd == -1){sprintf(err, "accept error:%d,%s", errno, strerror(errno));return FALSE;}

运行正常

本文发布于:2024-01-29 05:01:16,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170647568112873.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:学习笔记   错误   socket   Linux   accept
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23