DELPHI XE 10.3 三层数据库应用 尝鲜 之二 取得客户端信息

31 篇文章 0 订阅
26 篇文章 1 订阅

继续上一节

服务端:

 //------>在ClientRead中可取得客户端活动ID,IP,PORT,以及其它信息
procedure TForm2.SSKServerClientRead(Sender: TObject; Socket: TCustomWinSocket);
var
 smsg,sRemoteaddress,sRemotePort,sRemoteHost:string;
 i:integer;//取得活动ID
begin
 smsg:= TRIM(Socket.ReceiveText);
 I:=SSKServer.Socket.ActiveConnections;
 sRemoteaddress:=SSKServer.Socket.Connections[I-1].RemoteAddress;
 sRemoteHost:=SSKSERVER.Socket.Connections[I-1].RemoteHost;
 sRemotePort:=SSKSERVER.Socket.Connections[I-1].RemotePort.TOSTRING;

memo1.lines.add(smsg);
memo1.lines.add(sRemoteaddress);
memo1.lines.add(sRemoteHost);
memo1.lines.add(sRemotePort);
end;


客户端

uses
  System.SysUtils, System.Classes, System.Win.ScktComp;

type
  Tdmclient = class(TDataModule)
    SCKClient: TClientSocket;
    procedure SCKClientConnect(Sender: TObject; Socket: TCustomWinSocket);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 const
  c_ScreenWidth = 800;
  c_ScreenHeight = 600;
   {通信消息标识}
  c_Msg = 'MSG';
  c_Connect = 'Connect';
  c_Close = 'Close';
  c_DisConnect = 'Disconnect';
  c_OpenAccount = 'OpenAccount';
   {局域,远程标识}
  c_Lan = 'Lan';
  c_Remote = 'Rem';
   {权限Check表示符}
  c_Check = '+';
  c_UnCheck = '-';
   {用于树型结构}
  C_CharArray = 'ABCDEFGH';
   {星期数组}
  sWeek: array[1..7] of string = ('日', '一', '二', '叁', '四', '五', '六');
var
  dmclient: Tdmclient;

implementation

{%CLASSGROUP 'Vcl.Controls.TControl'}

{$R *.dfm}

procedure Tdmclient.SCKClientConnect(Sender: TObject; Socket: TCustomWinSocket);
var
shost:string;
begin
  //Socket.SendText('您好') ;
 shost:=socket.LocalHost;
 SCKClient.Socket.Sendtext(c_Connect+'_'+sHost);
end;

end.

结果如下:

Connect_win7server
192.168.8.3
win7server.home
4886
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值