如何从ip address得到机器名?
如何从ip address得到机器名? 问题点数:20、回复次数:9Top
1 楼howtotell(从何谈起)回复于 2002-08-03 07:55:21 得分 0
ping
nbtstatTop
2 楼javanew(我是java新手)回复于 2002-08-03 07:59:58 得分 0
gethostbyname()Top
3 楼jishiping(JSP 季世平)回复于 2002-08-03 08:02:03 得分 0
举个例子:
long NetAddr = inet_addr("100.100.100.1");
struct hostent* pht = gethostbyaddr((char*)&NetAddr, 4, AF_INET);
if (pht != NULL)
MessageBox(0, pht->h_name, "机器名", MB_OK);
Top
4 楼anni(维生素C)回复于 2002-08-03 08:09:07 得分 0
HRESULT GetHostByAddr(
const char *addr,
int len,
int type,
char *buf,
int *buflen
);
查msdn
搞定Top
5 楼wistaria(听风听雨)回复于 2002-08-03 09:30:59 得分 0
从主机名得到IP地址
int CGetIPDlg::GetIPAddress(const CString& sHostName, CString& sIPAddress)
{
struct hostent FAR *lpHostEnt = gethostbyname (sHostName);
if (lpHostEnt == NULL) {
// An error occurred.
sIPAddress = _T("");
return WSAGetLastError();
}
LPSTR lpAddr = lpHostEnt->h_addr_list[0];
if (lpAddr) {
struct in_addr inAddr;
memmove (&inAddr, lpAddr, 4);
sIPAddress = inet_ntoa (inAddr);
if (sIPAddress.IsEmpty())
sIPAddress = _T("Not available");
}
return 0;
}
Top
6 楼haode(好的)回复于 2002-08-03 09:50:21 得分 0
是要编程实现么?
ping -a 就可以显示了
比如:
ping -a 192.168.0.1Top
7 楼kamphkb(依栏望海)回复于 2002-08-03 12:15:55 得分 0
都不行。 ;(Top
8 楼beholder()回复于 2002-09-06 13:24:04 得分 20
#inlcude <winsock.h>
void __fastcall TForm1::Button1Click(TObject *Sender)
{
WSADATA wsa;
long addr;
struct hostent *host;
WSAStartup(MAKEWORD(2,2),&wsa);
addr = inet_addr("192.168.10.2");
host= gethostbyaddr((char *)&addr,4,AF_INET);
ShowMessage(host->h_name);
}
Top
9 楼rocshaw(太阳鸟(抵制日货))回复于 2002-09-06 13:30:04 得分 0
gethostbyaddrTop




