Я писал свой первый клиент на C, когда достиг точки, когда мне нужно было отправить сокет на сервер.Когда я пытаюсь получить его адрес, я получаю
Ресурс, временно недоступный
, и я не могу найти причину этой проблемы.
dadesSoftConfig-> ipServer находится внутри localhost
struct hostent *ent;
ent = gethostbyname(dadesSoftConfig->ipServidor);
if (ent == NULL) {
int errnum = errno;
fprintf(stderr, "Client finalitzat: %s\n", strerror(errnum));
exit(EXIT_FAILURE);
}
Я не отправляю никакой сокет, пока не ожидаю каких-либо данных, когда я делаю этот вызов, это происходит в самом начале, даже дофаза регистра моего протокола.
По запросу, это распечатка dadesSoftConfig:
DEBUG_INFO: Nom: SW-01
Mac: 89F107457A36
Server: localhost
Server-port: 2019
И вот как я это печатаю:
void print_software_configuration(TDadesSoftConfig *dades) {
char *msg;
msg = (char *) malloc(sizeof(char) * 75);
if (sprintf(msg, "\tNom: %s \t\tMac: %s \t\tServer: %s \t\tServer-port: %d\n",
dades->nom, dades->mac, dades->ipServidor, dades->serverPort) < 0) {
fprintf(stderr, "No s'ha pogut mostrar el contingut llegit\n");
} else {
print_debug_info(msg);
}
free(msg);
}
Я попытался отправить «127.0.0.1» в функцию gethostbyname (), и код прекрасно работает, даже когда я сохраняю его в своей структуре.Есть идеи, почему он не работает при отправке "localhost"?