Использование Inet_aton для принятия аргументов командной строки ошибка - PullRequest
0 голосов
/ 19 июня 2019

Я пытаюсь инициализировать сокет с заданными аргументами командной строки, argv1 - это ip, а argv2 - это порт.Порт работает по мере необходимости, но проблема заключается в создании IP-адреса.Ожидаемым вводом будет*

1 Ответ

0 голосов
/ 20 июня 2019

Это решение, которое сработало для меня

char ipadd[255];
    strcpy(ipadd,argv[1]);
    int portval = atoi(argv[2]);
    struct sockaddr_in server_info, client_info;
    int s_addrlen = sizeof(server_info);
    int c_addrlen = sizeof(client_info);
    memset(&server_info, 0, s_addrlen);
    memset(&client_info, 0, c_addrlen);
    server_info.sin_family = PF_INET;
    server_info.sin_addr.s_addr = htonl(INADDR_ANY);
    inet_aton(argv[1], &server_info.sin_addr);
    server_info.sin_port = htons(portval);


Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...