今天师兄拿来一个epoll的测试程序给我看,说是有问题,运行了一下,发现了accept: Invalid argument问题。
??? socklen_t clilen;
??? struct sockaddr_in clientaddr;
??? connfd = accept(listenfd,(sockaddr *)&clientaddr,&clilen);
问题就出在accept的第3个参数:必须为正数,把那个变量初始化一下就好了~
??? socklen_t clilen= sizeof(struct sockaddr);
??? struct sockaddr_in clientaddr;
??&n……
??? socklen_t clilen;
??? struct sockaddr_in clientaddr;
??? connfd = accept(listenfd,(sockaddr *)&clientaddr,&clilen);
问题就出在accept的第3个参数:必须为正数,把那个变量初始化一下就好了~
??? socklen_t clilen= sizeof(struct sockaddr);
??? struct sockaddr_in clientaddr;
??&n……
本文介绍了一个epoll测试程序中出现的accept:Invalid argument错误。问题出现在accept函数的第三个参数未正确初始化。通过将socklen_t类型的变量初始化为struct sockaddr大小的值解决了此问题。
4910

被折叠的 条评论
为什么被折叠?



