社区
网络通信/分布式开发
帖子详情
如何取本机的IP地址?先谢了。
cathy01
2003-01-07 09:48:39
如何取本机的IP地址?
...全文
112
4
打赏
收藏
如何取本机的IP地址?先谢了。
如何取本机的IP地址?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
joky1981
2003-01-07
打赏
举报
回复
获取IP地址的方法很多,如下:
function GetComputerName: string;
var
Size: DWord;
begin
Size := MAX_COMPUTERNAME_LENGTH+1;
SetLength(Result, Size);
Windows.GetComputerName(PChar(Result), Size);
SetLength(Result, StrLen(PChar(Result)));
end;
function GetHostAddress: string;
var
wd: TWSAData;
phe: PHostEnt;
begin
if 0 <> WSAStartup(MakeWord(2, 0), wd) then
raise Exception.Create('初始化 WinSock 失败!')
else
try
SetLength(Result, 255);
if 0 <> gethostname(PChar(Result), 255) then
raise Exception.Create('无法取得本计算机名称!');
SetLength(Result, StrLen(PChar(Result)));
phe := gethostbyname(PChar(Result));
if nil = phe then
raise Exception.Create('无法解析本计算机名称到IP地址!');
//修改此处代码可适用于多个IP情况
Result := inet_ntoa(PInAddr(phe.h_addr^)^);
finally
WSACleanup;
end;
end;
你要是嫌上面的麻烦,可以直接放一个Fastnet组件,如TNMDayTime,取其LocalIP属性。
NMDT: TNMDayTime;
.........
procedure TForm1.Button1Click(Sender: TObject);
begin
showmessage('本机的IP地址是:'+NMDT.localIP);
end;
end.
jjp
2003-01-07
打赏
举报
回复
用fastnet下的TNMftp控件,
nmftp1.localip即可
sjdf
2003-01-07
打赏
举报
回复
下面这个是我用c写的,希望对你有帮助。
char* GetLocalIP()
{
WSADATA wsadata;
char szHostName[128+1] = "\0";
hostent *phe;
in_addr myip;
if (WSAStartup(MAKEWORD(2,0), &wsadata) != 0)
{
return NULL;
}
if(gethostname(szHostName, 128 ) == 0)
{
phe = gethostbyname(szHostName);
memcpy((char*)&myip,phe->h_addr_list[0],4);
WSACleanup();
return (inet_ntoa(myip));
}
else
{
WSACleanup();
return NULL;
}
}
灯草拐杖
2003-01-07
打赏
举报
回复
给你一个代码
var
Form1: TForm1;
FComputerName : String;//用来存贮本机的计算机名称
FComputerIP : String; //用来存贮本机的计算机IP地址
implementation
{$R *.DFM}
procedure GetClientPcNameIP; //定义了一个局部函数,这个函数的功能是获取本机的计算机名称和IP
const
nSize = 256;
var
strName : PChar;
pWsaData : WSAData;
nHostent : PHostEnt;
Ver : Word;
begin
try
//初始化WinSock
Ver := MakeWord(2,0);
if WSAStartup(Ver,pWsaData) <> 0 then exit;
//获取本机的计算机名和IP
GetMem(strName,nSize);
if GetHostName(strName,nSize) <> 0 then exit;
FComputerName := strName;
nHostent := GetHostByName(strName);
//FPcIP := AnsiString(inet_ntoa((pinin_addr((hInfo.h_addr_list)^))^));
FComputerIP := inet_ntoa((PInAddr((nHostent.h_addr_list)^))^);
finally
FreeMem(strName);
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
GetClientPcNameIP;
Edit1.Text := FComputerName;
Edit2.Text := FComputerIP;
end;
计算机网络谢老师第五版)课后答案
14. **网络常用术语**:还包括
IP地址
、域名系统DNS、传输层协议如TCP和UDP、子网掩码、网络拓扑结构、协议栈、网络安全、QoS(服务质量)、负载均衡、网络监控和故障排除等。 这些知识点涵盖了计算机网络的基础理论...
计算机网络 如何算 子网号,已知
Ip地址
子网掩码如何计算子网号、主机号.doc
已知某计算机所使用的
IP地址
是:195.169.20.25,子网掩码是:255.255.255.240,经计算写出该机器的网络号、子网号、主机号。??????? 因为:195,240,25??????? 由以上参数可知:1.该计算机网络属于C类网;????????...
已知
Ip地址
_子网掩码如何计算子网号、主机号(收集整理)
已知某计算机所使用的
IP地址
是:195.169.20.25,子网掩码是:255.255.255.240,经计算写出该机器的网络号、子网号、主机号。 因为:195=11000011B,240=11110000B,25=00011001B 由以上参数可知:1.该计算机网络...
计算机网络课程主机号怎么看,已知
Ip地址
_子网掩码如何计算子网号、主机号(收集整理)...
已知某计算机所使用的
IP地址
是:195.169.20.25,子网掩码是:255.255.255.240,经计算写出该机器的网络号、子网号、主机号。因为:195=11000011B,240=11110000B,25=00011001B由以上参数可知:1.该计算机网络...
把无符号整数主机字节序数据,输出IP并判断属于哪一类网络(输入整数输出对应的
ip地址
与分类)
代码是从键盘输入一个0-(4,294,967,296-1)以内的数(因为ip的长度为32位,因此输入的数不能超出2^32),然后输出对应的
IP地址
与对应的
IP地址
所在的分类 /* *输入一个无符号整数主机字节序数据,输出属于哪一类...
网络通信/分布式开发
1,594
社区成员
32,958
社区内容
发帖
与我相关
我的任务
网络通信/分布式开发
Delphi 网络通信/分布式开发
复制链接
扫一扫
分享
社区描述
Delphi 网络通信/分布式开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章