Я выполняю «SHOW PROCESSLIST» в клиентском приложении.
выдает результат: ![enter image description here](https://i.stack.imgur.com/l0Vw1.png)
Когда я смотрю на столбец Host, он отображается в одной из строк как «WIN»-R2VUKMIS1PR: 54822 "
Как узнать, что IP-адрес хоста" WIN-R2VUKMIS1PR: 54822 "...
Я пишу программу переменного тока, которая выполняет" SHOW PROCESSLIST "иотображает вывод всех подключенных хостов.
Так как мне разрешить имя хоста в IP?Я попытался использовать
Вот демонстрационное приложение, которое я использовал для преобразования "WIN-R2VUKMIS1PR: 54822" в IP:
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <netdb.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
int main(int argc, char *argv[ ]) {
struct hostent *h;
/* error check the command line */
if(argc != 2) {
fprintf(stderr, "Usage: %s hostname\n", argv[0]);
exit(1);
}
/* get the host info */
if((h=gethostbyname(argv[1])) == NULL) {
herror("gethostbyname(): ");
exit(1);
}
else {
printf("Hostname: %s\n", h->h_name);
printf("IP Address: %s\n", inet_ntoa(*((struct in_addr *)h->h_addr)));}
return 0;
}
Я что-то упустил?: -)