Delphi2010中DataSnap高级技术(3)—DataSnap服务器如何得到客户端的IP和端口

限时加码!20+主流AI编程工具免费用 购周边加赠Coding Plan Lite,Claude Code、Cursor等即刻畅享,学习进阶更高效! 阅读详情

作为一个服务器软件,必须做到对客户端强有力的控制,想要控制,就必须得到客户端的网络基本信息,比如客户端IP和端口。有了客户端IP就能随心所欲操控客户端,比如终止某些客户端的连接、限制功能等等。

 

在delphi2010中的datasnap服务器如何获得客户端ip,的确花了我点时间,奇怪为什么这个功能不做的更人性化点呢,功能总是藏着掖着。还得让程序员像寻宝一样摸索,浪费时间。现在把我整理的结果奉献给大家,免得大家在花时间研究这个。

 

另外,通过研究发现,DSConnectEventObject.ChannelInfo.Id 属性实际上是内存地址,并不是一个简单的数字。

 

 

以下代码红色部分是关键。

 

uses IdTCPConnection;

......

 

procedure TServerContainer1.DSServer1Connect
  (DSConnectEventObject: TDSConnectEventObject);
var
  ClientConnection: TIdTCPConnection;
begin
  with Form1 do
  begin
    dsShowDataSet.Append;
    dsShowDataSet['ClientConnectTime'] := Now;

    if DSC

Delphi2010DataSnap高级技术(6)—加强服务程序对访问者的控制能力 1)作为一个服务程序,如果不限制客户端访问数量,后果将是很可怕的。如果有人恶搞,服务器不堪重负,内存将耗尽,最终服务器将宕机。如何限制访问者的数量呢? 我们可以设置一个变量,来记录来访者的数量,如果超过我们既定的数字,那么后续的连接服务器请求,都将被断掉。 2)限制了访问数量,但是如果不做密码身份认证,无关的人员也将能登陆服务器!解决办法是客户端传入用户名密码,如果用户名密码不 阅读详情

相关推荐

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

需要的控件首先要有 TDSServerModule、 TDSServer、TDSTCPServerTransport; TDSServerClass、TDataModule;实现上述功能主要控件如下图所示 包含的单元包括 SysUtils, Classes, DSTCPServerTransport, DSHTTPCommon, DSHTTP, DSServ

singular2611 2136

DelphiDataSnap发挥最大效率

 一个DataSnap的应用程序由两个层组成:DataSnap服务器,它有一个带有一个或者更多DataSetProvider组件的远程数据模块;DataSnap客户端,它带有一个xxxConnection组件一个或者多个连接到DataSetProviders的ClientDataSets。你可以不使用ClientDataSet而换用XMLBroker组件,后者是专门用在InternetE

编程资料收集与共享交流 889

Delphi DataSnap入门操作,动起来

DELPHI DATASNAP 2010 入门操作(2)不写一行代码,绿色三层我也行 https://www.cnblogs.com/zhqian/archive/2010/07/06/1771798.html 转载于:https://www.cnblogs.com/studycode/p/11493322.html...

weixin_30569001的博客 299

Delphi DataSnap 初步入门使用总结

概念: Delphi 最新的 DataSnap 支持的多层架构,其代码架构以前的不一样。 之前,无论是 DCOM 还是 WebService,服务器端公开给客户端调用的方法,都是采用 interface 的方式。客户端调用 interface 里面的方法,服务器端实现 interface 里面的方法。 DataSnap 则是在客户端产一个对应服务器端的类,这个类里面包含服务器

pcplayer的博客 2529

datasnap 2010 DataSnap服务器如何得到客户端IP端口

作为一个服务器软件,必须做到对客户端强有力的控制,想要控制,就必须得到客户端网络基本信息,比如客户端IP端口。有了客户端IP就能随心所欲操控客户端,比如终止某些客户端的连接、限制功能等等。 在delphi2010中的datasnap服务器如何获得客户端ip,的确花了我点时间,奇怪为什么这个功能不做的更人性化点呢,功能总是藏着掖着。还得让程序员像寻宝一样摸索,浪费时间。现在把我整理的结果奉献给...

weixin_33961829的博客 179

Delphi2010DataSnap高级技术

Delphi2010DataSnap高级技术 日期:2010年12月1日 作者:SUNSTONE原创 人气:13498 查看:[大字体 中字体 小字体] (1)—为DataSnap系统服务程序添加描述 这几天一直在研究Delphi 2010DataSnap,感觉功能真是很强大,现在足有理由证明Delphi7该下岗了。 DataSnap有三种服务模式,其中Service Appl...

diaowojian9497的博客 147

Delphi2010DataSnap技术网摘

Delphi2010DataSnap技术网摘 一、为DataSnap系统服务程序添加描述 这几天一直在研究Delphi 2010DataSnap,感觉功能真是很强大,现在足有理由证明Delphi7该下岗了。 DataSnap有三种服务模式,其中Service Application方式建立的Windows服务没有描述,描述部分是空的,可用如下方法添加服务描述: pro...

218

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

需要的控件首先要有 TDSServerModule、 TDSServer、TDSTCPServerTransport;TDSServerClass、TDataModule;实现上述功能主要控件如下图所示包含的单元包括SysUtils, Classes,DSTCPServerTransport,DSHTTPCommon, DSHTTP,DSServer, DSCommonServer, Provid...

weixin_39858124的博客 801

Delphi2010开发DataSnap服务器(一)

今天简单的研究了一下Delphi开发DataSnap服务器,以下是简单的例子,各位见笑了。 第一步创建一个DataSnap Server 这里选择默认 选择好了以后这里生成3个文件,我将这3个文件重新命名。 来到TServerMethods这个文件里面的代码页,我们添加一个方法 GetMessage。 function TServerMethods.GetMessage(Us

放肆的IT的专栏 5426
上一篇: Delphi2010中DataSnap高级技术(2)—DataSnap服务端和客户端发布分发方法
下一篇: 宝贝女儿快9个月了
sunstone
博客等级 码龄27年 61粉丝 36原创
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值