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小时内删除。
留言与评论(共有 0 条评论) |