文章分类 -  DATASNAP

delphi 2010 datasnap
[转]Delphi 2010 DataSnap白皮书2
摘要:4.2. LOG FILTERDelphi 2010 DataSnap 允许自定义传输过滤器.我们可以从TTransportFilter 类型继承自己的类.在这个新类中,可以重写基类中的方法,实现这些方法.例如我们创建一个TLogFilter类:unit LogFilter;interfaceusesSysUtils, DBXPlatform, DBXTransport;typeTLogFilte... 阅读全文

posted @ 2010-08-06 23:06 周黔 阅读(903) 评论(0) 推荐(0) 编辑

[转]Delphi 2010 DataSnap白皮书1
摘要:在这个白页中我们将讲解Delphi2010 DataSnap架构新的特性和功能.1. DATASNAP 历史作为MIDAS起始于Delphi3,Delphi4是MIDAS II,Delphi5中是MIDASIII,而后基于COM远程数据模块方式使用TCP/IP,HTTP,(D)COM构建出强大的通讯能力.从Delphi6开始改名为DataSnap,直到D2007这个框架一直在使用.D2009重新架... 阅读全文

posted @ 2010-08-06 23:00 周黔 阅读(1558) 评论(0) 推荐(0) 编辑

[转]DataSnap 2009 系列之三 (生命周期篇)
摘要:DataSnap 2009的服务器对象的生命周期依赖于DSServerClass组件的设置当DSServer启动时从DSServerClass组件读取LifeCycle属性的值注意:LifeCycle的值由于在启动时就已经读取 启动后再修改LifeCycle的值将没有任何效果LifeCycle属性的值可以是以下三种字符串之一1.Session该选项为默认设置每个连接都会建立一个独立的服务器对象为客... 阅读全文

posted @ 2010-07-05 21:03 周黔 阅读(308) 评论(0) 推荐(0) 编辑

[转]DataSnap 2009 系列之二 (方法篇)
摘要:在DataSnap 2009中调用远程服务器的方法是基于delphi的RTTI机制的想要一个类允许被远程调用需要做以下两点1.把该类和DSServerClass连接在一起[代码]DSServerClass的OnGetClass就是用于完成此任务的注意:DSServerClass必须设置要导出的类 否则会出现SOnGetClassNotSet的异常信息2.该类必须使用$MethodInfo编译指令生... 阅读全文

posted @ 2010-07-05 21:02 周黔 阅读(332) 评论(0) 推荐(0) 编辑

[转]DataSnap 2009 系列之一 (连接篇)
摘要:Delphi 的MIDAS出来了这么多年终于有改进的版本了COM-FREE的DataSnap 2009真是清爽了很多DataSnap 2009 除了不支持回调和Intercept组件以外 其它的该有的都有了 而且还有很多强大的特性第一篇就先写点DataSnap 2009连接方面可能要用到的东西以后再继续写写关于生命周期的管理 对象池的应用 以及远程管理 远程方法调用等方面的东西吧。首先 建立个Da... 阅读全文

posted @ 2010-07-05 21:00 周黔 阅读(345) 评论(0) 推荐(0) 编辑

[收藏]delphi 2010 DataSnap TUTORIAL VIDEOS
摘要:http://www.embarcadero.com/rad-in-action/datasnapWatch online video tutorials to get a quick start with DataSnapLearn from the Expert - Let Bob Swart ("Dr Bob") take you from the start with building D... 阅读全文

posted @ 2010-07-05 20:48 周黔 阅读(334) 评论(0) 推荐(0) 编辑

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

posted @ 2010-07-05 20:45 周黔 阅读(392) 评论(0) 推荐(0) 编辑

[转]Delphi2010中DataSnap高级技术(7)—TDSServerClass中Lifecycle生命周期三种属性说明
摘要:Lifecycle 三种属性: Session、Invocation、Server这三种属性都用在什么情况,有什么要注意的事项,Delphi2010中罕有说明。如果乱用这三种属性,你的服务程序有可能崩溃,数据混乱,内存占用大,效率低等问题!下面我对这三种属性的使用环境逐一介绍:1. Session说明:这是delphi2010中默认属性,也是delphi推荐设置。Session会为每个来自客户端的... 阅读全文

posted @ 2010-07-05 20:45 周黔 阅读(310) 评论(0) 推荐(0) 编辑

[转]Delphi2010中DataSnap高级技术(5)—建立稳定服务程序之TCP心跳包的使用
摘要:为了能让我们的服务程序更加稳定,有些细节问题必须解决。就如上一讲中提到的客户端拔掉网线,造成服务器上TCP变成死连接,如果死连接数量过多,对服务器能长期稳定运行是一个巨大的威胁。另外,经过测试,如果服务器上有TCP死连接,那么服务程序连接数据库,也会产生那个一个死连接。这样的话,给数据库服务器也造成威胁。所以,服务器程序编写的好坏,直接影响系统的稳定性!如何解决TCP死连接的问题,有多种方法,其中... 阅读全文

posted @ 2010-07-05 20:44 周黔 阅读(460) 评论(0) 推荐(0) 编辑

[转]Delphi2010中DataSnap高级技术(4)—TCP keepAlive和KeepAliveInterval参数详解
摘要:Delphi2010中DataSnap,如果客户端异常掉线或拔掉网线,那么在服务端会留下一个TCP连接,这个连接会变成死连接(经过测试,如果windows的TCP保持连接禁用的话,三个小时该死连接还不消失)。如果大量客户端并发,出现的死TCP连接过多,服务器内存和端口将会增加,直到占满服务器的端口和耗尽内存为止。如果这样的话,服务器无法健壮稳定的运行。大家可以另开线程来监控客户端连接,但是今天要给... 阅读全文

posted @ 2010-07-05 20:43 周黔 阅读(420) 评论(0) 推荐(0) 编辑

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

posted @ 2010-07-05 20:42 周黔 阅读(377) 评论(0) 推荐(0) 编辑

[转]Delphi2010中DataSnap高级技术(2)—DataSnap服务端和客户端发布分发方法
摘要:这几天继续研究DataSnap技术。针对服务器和客户端软件,如何发布呢?经过研究发现,分发方法非常简单!服务器发布方法:1.在unit ServerMethodsUnit1单元中,添加uses MidasLib;(添加MidasLib的目的是省去发布Midas.dll)2.我用的是火鸟数据库,只需拷贝dbxfb.dll和fbclient.dll分发的服务器软件只需三个文件:你的服务器程序、dbxf... 阅读全文

posted @ 2010-07-05 20:41 周黔 阅读(436) 评论(0) 推荐(0) 编辑

[转]Delphi2010中DataSnap高级技术(1)—为DataSnap系统服务程序添加描述
摘要:这几天一直在研究Delphi 2010的DataSnap,感觉功能真是很强大,现在足有理由证明Delphi7该下岗了。DataSnap有三种服务模式,其中Service Application方式建立的windows服务没有描述,描述部分是空的,感觉总是欠缺点什么。现找到办法添加描述:procedure TServerContainer2.ServiceAfterInstall(Sender: T... 阅读全文

posted @ 2010-07-05 20:40 周黔 阅读(337) 评论(0) 推荐(0) 编辑