gpt4 book ai didi

c - 绑定(bind) : Address Already in Use

转载 作者:太空宇宙 更新时间:2023-11-04 00:42:53 24 4
gpt4 key购买 nike

我正在尝试运行我的服务器程序,但我一直收到此错误:

绑定(bind)错误:地址已被使用

  int main(int argc, char *argv[]){

if (argc < 6){
printf("usage: stringSearcher <filename> <stringLength> <searchLength> <nChildren> <nThreads> <blockSize>\n");
exit(0);
}

char* fileName = argv[1];
int stringLen = atoi(argv[2]);
int searchLen = atoi(argv[3]);
nChildren = atoi(argv[4]);
if (nChildren == 0)
nChildren = 1;
int nThreads = atoi(argv[5]);
int blockSize = atoi(argv[6]);
int childNo = 0;

//Opens new socket
int sockfd;
sockfd = socket(AF_INET, SOCK_STREAM, 0);

if (sockfd < 0){
perror("ERROR opening socket");
exit(0);
}



int newsockfd, portno, clilen;
struct sockaddr_in serv_addr, cli_addr;
int n;

portno = 5000;
serv_addr.sin_family = AF_INET;
serv_addr.sin_addr.s_addr = INADDR_ANY;
serv_addr.sin_port = htons(portno);

int opt = 1;
setsockopt(1, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt));

if (bind(sockfd, (struct sockaddr *) &serv_addr, sizeof(serv_addr)) < 0){
perror("ERROR on binding\n");
exit(1);
}

最佳答案

setsockopt(1, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt));

第一个参数必须是 sockfd 而不是 '1'

关于c - 绑定(bind) : Address Already in Use,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1592055/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com