出现此问题在于,listen函数在socket函数和bind函数之间。
例:

 1 /*客户端程序开始建立sockfd描述符*/ 2     listenfd = socket(AF_INET,SOCK_STREAM,0); 3     if(listenfd < 0) 4     { 5         perror("socket"); 6         exit(1); 7     } 8     /*使用套接字选项,避免出错*/ 9     if(setsockopt(listenfd,SOL_SOCKET,SO_REUSEADDR,&opt,sizeof(opt)) != 0)10     {11         perror("setsockopt");12         exit(1);13     }14     /*服务器填充sockaddr结构*/15     bzero(&server,sizeof(server));    //对结构体清零16     server.sin_family = AF_INET;    //IPv4地址族17     server.sin_addr.s_addr = ntohl(INADDR_ANY);    //服务器IP址址18     server.sin_port = ntohs(8888);    //端口号19 20         /*设置允许连接的最大客户数*/21     if(listen(listenfd,MAX_LISTEN_QUE) != 0)22     {23         perror("listen");24         exit(1);25     }26     27     /*邦定sockfd描述符到IP地址*/28     int len = sizeof(struct sockaddr);29     if(bind(listenfd,(struct sockaddr *)&server,len) != 0)30     {31         perror("bind");32         exit(1);33     }34     35
如此操作时,容易出现bind: Invalid argument
			
			
			
						
			
 我要赚赏金
