gpt4 book ai didi

c++ - 为什么 "SHOW PROCESSLIST"不给 Host IP?

转载 作者:太空宇宙 更新时间:2023-11-04 03:06:02 25 4
gpt4 key购买 nike

我在客户端应用程序上执行“SHOW PROCESSLIST”。

它给出了输出: enter image description here

当我查看主机列时,它在其中一行中显示为“WIN-R2VUKMIS1PR:54822”

我如何知道主机 IP 是什么“WIN-R2VUKMIS1PR:54822”...

我正在编写一个执行“SHOW PROCESSLIST”的 C 程序并显示所有连接主机的输出。

那么如何将主机名解析为 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;
}

我错过了什么吗? :-)

最佳答案

您可以使用 gethostbyname_r -- 查找与主机名匹配的网络主机数据库条目。 但请注意它已被弃用。如果您的应用要上线,请务必小心。

此外,我不确定它是否对您有帮助。

关于c++ - 为什么 "SHOW PROCESSLIST"不给 Host IP?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5078771/

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