首页 > Windows开发 > 详细

Delphi2010中采用DataSnap的三层网络架构服务器获取客户端ip,端口信息

时间:2015-04-29 21:50:31      阅读:377      评论:0      收藏:0      [点我收藏+]

需要的控件

首先要有 TDSServerModule、 TDSServer、TDSTCPServerTransport;
TDSServerClass、TDataModule;实现上述功能主要控件如下图所示
技术分享

包含的单元包括

 SysUtils, Classes, 
  DSTCPServerTransport,
  DSHTTPCommon, DSHTTP,
      DSServer, DSCommonServer, Provider, IdBaseComponent, IdComponent,
  IdTCPConnection, IdTCPClient;

其中IdTCPConnection单元一定要有。
代码如下,//符号包含的是主要实现部分;

procedure TServerContainer1.DSServer1Connect(
  DSConnectEventObject: TDSConnectEventObject);
var
ClientConnection: TIdTCPConnection;

begin
//=================================================
if DSConnectEventObject.ChannelInfo <> nil then
begin
  ClientConnection := TIdTCPConnection(DSConnectEventObject.ChannelInfo.Id);

  FormMain.ClientID := DSConnectEventObject.ChannelInfo.Id;
  FormMain.ClientIP := ClientConnection.Socket.Binding.PeerIP +
    ‘:‘ + IntToStr(ClientConnection.Socket.Binding.PeerPort);
  FormMain.ServerIP := ClientConnection.Socket.Binding.IP + ‘:‘ +
    IntToStr(ClientConnection.Socket.Binding.Port);
  //=========================================================
  FormMain.bsSkinMemo1.Lines.Clear;
  FormMain.bsSkinMemo1.Lines.Add(‘客户端ID号:‘+IntToStr(FormMain.ClientID));
  FormMain.bsSkinMemo1.Lines.Add(‘客户端IP号:‘+FormMain.ClientIP);
  count:=count+1;
  FormMain.StatusBar1.Panels[0].Text:=‘同时在线人数‘+IntToStr(count);
end;

end;

Delphi2010中采用DataSnap的三层网络架构服务器获取客户端ip,端口信息

原文:http://blog.csdn.net/singular2611/article/details/45370353

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!