本文主要是介绍在linux下使用socket通信,accept调用产生accept error:Invalid argument,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
accept error :Invalid argument顾名思义,就是accept错误,非法变量。
这是accept的函数:
int accept(int sockfd, void *addr, int *addrlen);
accept()函数的参数意义如下:
sockfd 是正在 listen() 的一个套接字描述符。
addr 一般是一个指向 struct sockaddr_in 结构的指针;里面存储着远程连接过来的计算机的信息(比如远程计算机的 IP 地址和端口) 。
addrlen 是 一 个 本 地 的 整 型 数 值 。
所以,就这三个错误,肯定是其中一个有问题。
1. sockfd有问题,无非就是sockfd初始化失败
2. addr有问题,无非就是bind, listen失败等,检查之后我问题是客户机的端口和服务器的不对应
3. addrlen 问题,可能就是没有初始化或者指针不对之类的吧
这篇关于在linux下使用socket通信,accept调用产生accept error:Invalid argument的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!