【发布时间】:2020-03-11 08:59:37
【问题描述】:
IP 地址是192.168.23.4。我可以使用以下代码 sn-p 从 ipaddress 获取主机名:
struct sockaddr_in sa;
char str[INET_ADDRSTRLEN];
inet_pton(AF_INET, "192.168.23.4", &(sa.sin_addr));
struct sockaddr_in saGNI;
char hostname[NI_MAXHOST];
char servInfo[NI_MAXSERV];
u_short port = 27015;
saGNI.sin_family = AF_INET;
saGNI.sin_addr.s_addr = sa.sin_addr.s_addr;
saGNI.sin_port = htons(port);
DWORD dwRetval = getnameinfo((struct sockaddr *) &saGNI,
sizeof(struct sockaddr),
hostname,
NI_MAXHOST, servInfo, NI_MAXSERV, NI_NUMERICSERV);
printf("HostName: %s", hostname);
我得到了表单的输出
计算机名.domain.com
如何从主机名中获取计算机名?
例如输入
计算机名.domain.com
例如输出
计算机名
有没有什么方法可以直接获取已知IP地址的系统的ComputerName?
我正在寻找与在远程系统上使用 Hostname 命令显示的结果相同的结果。
【问题讨论】:
-
请将答案放在答案块中。稍后,您可以接受自己的答案。另见How does accepting an answer work?
标签: c++ windows ip-address hostname