服务器功能 选择相应的功能添加到DataSnap服务器
这里主要是选择基础功能,如 支持的 协议类型,加密方式, 服务器模块类等。这里我在默认的基础上添加了 HTTP,HTTPS通讯协议和Authenticaiton验证,读者可以自行选择,如果没有特别的要求默认就行。
选择协议的通讯端口 这些是默认的端口,如果只是测试默认就行,我选择默认,不过Windows默认1-1024是系统端口,如果有冲突,可以修改。
证书,因为基于HTTPS通讯默认是需要注册证书的(证书需要买,就像域名一样),不然会出现下列的情况,我就直接下一步了。
选择一个服务方法类的父类类型
TPersistent:TServerMethods1 = class(TPersistent)--> TPersistent = class(TObject) 如果开发人员想使用最少的资源输出服务方法,就选择此类别
TDataModule: TServerMethods1 = class(TDataModule)-->TDataModule = class(TComponent)--> TComponent = class(TPersistent, IInterface, IInterfaceComponentReference)--> TPersistent = class(TObject) 如果开发人员习惯使用模块或是需要把旧的模块升级,就可以选择这个类别
TDSServerModule:TServerMethods1 =
class(TDSServerModule)--> TDSServerModuleBase = class(TProviderDataModule)--> TProviderDataModule =
class(TDataModule)-->TDataModule = class(TComponent)--> TComponent = class(TPersistent, IInterface, IInterfaceComponentReference)--> TPersistent = class(TObject)
最典型的父类类别,如果开发人员没有特别的升级考量或是建立新的DataSnap服务器,那么请尽量选择使用这个类别
在这里我选择了最后一项,最后点完成。
正如读者看到的,Delphi XE2会帮我们自动生成3个单元,如果你没有改名的情况下分别是:
1. ServerContainerUnit1 放置服务端的控件的(个人认为) 2. ServerMethodsUnit1 服务端的方法,将来用客户端调用的,以后会讲到(个人认为) 3. Unit1 普通的单元文件
我们先做个保存,项目名称和单元名,读者自行起名,我就默认了。
在这里我就先做一个简单的服务端和客户端的连接,因为是SQLServer2000,我选择了dbExpress的DBX控件连接数据库
打开ServerMethodUnit1单元,添加上图的组件分别是: 1. SQLConnection 2. SQLDataSet 3. DataSetProvider