如何在客户端得到服务器的IP和计算机名称!
客户端有ClientSoket,服务器有ServerSoket!
客户端有ClientSoket,服务器有ServerSoket!
解决方案 »
- 用明华读卡器读写sl4442卡的问题!
- DELPHI开发ACCESS.对于字符型字段,如何在SQL中进行赋值,代码如下
- 请高手解决一个难题进来看看就知道了.先谢过了
- 如何在Delphi中把.swf文件一起打包到.exe程序中
- OnKeyPress为什么捉不到回车(13)啊???
- 请问:专业安装程序制作软件 InstallShield 的最新版是多少————在线等待!!!
- 请问,用Delphi做网络程序时(CGI),数据表怎么用,如何指定数据库的路径???
- 关于SDK?
- 请教comobj控制excel的问题
- 关于ADODataSet的问题,请大家帮忙解决!谢谢
- 怎么截获 Windows的API函数EnumJobs(获取打印作业信息)中的信息,并保存下来?
- 如何使用API函数在窗体中创建WEB浏览器?
触发事件服务器端的Button1Click
procedure TForm1.Button1Click(Sender: TObject);
var
Ip:string;
Ipstr:string;
Buffer:Array[1..32] of char;
i:integer;
WSData:TWSAdata;
Host:PHostEnt;
begin
if WSAstartup(2,WSData)<>0 then
begin
ShowMessage('WS2_32.DLL初始化失败!');
halt;
end;
try
if GetHostName(@Buffer[1],32)<>0 then
begin
ShowMessage('没有得到主机名!');
halt;
end;
except
ShowMessage('没有成功返回主机名');
halt;
end;
Host := GetHostByName(@Buffer[1]);
if Host = nil then
begin
ShowMessage('IP地址为空');
halt;
end
else
begin
Edit2.Text := Host.h_name;
for i:=1 to 4 do
begin
Ip:=IntToStr(Ord(Host.h_addr^[i-1]));
if i<4 then
Ipstr := Ipstr + Ip + '.'
else
Edit1.Text:=Ipstr+Ip;
end;
end;
WSACleanup;
end;
end.
得到结果后再发送到客户端就可以的哦
其次如果你的客户端已经链接到服务器端了,那么还需要从服务器端得到服务器的IP地址或者是计算机名称吗?
当然,如果你是使用IP方式链接的服务器端,那么想直到服务器端的计算机名称,或者反之,那么楼上的方法就可以实现了!
读出里面的127.0.0.1和ABC呵,这是我第一次回答问题,,,,,虽然没有技术性可言,但是现在常用的就是这种做法
ClientSocket.port跟ServerSocket.port一致
ClientSocket.Host
ClientSocket.Address