用AdoDataset + XML + UDP 做三层架构 是否可行?

sujianfeng@xiamen 2010-06-18 12:55:25
一、想法如下

【客户端】
用AdoDataset显示和处理数据。
1、接收数据:用AdoDataset.LoadFromFile取得接收到的数据(打算从服务器端接收数据后存储到临时.XML文件,然后用LoadFromFile取得数据)
2、发送数据:用AdoDataset.SaveToFile方法把数据存储到临时文件(XML文件),然后把文件数据用发送给服务器端

【服务器端】
用TIdUDPClient和TIdUDPServer发送和接收数据,数据统一用XML格式

【数据库端】
从服务器端接收到的数据转换为Sql语法执行到数据库中

二、疑问如下:

1、因为没有去了解别的技术(如Socket等),想用UDP的方法直接处理网络通讯,估计要自己处理包的发送和接受估计比较麻烦,能否指教有简单的方法来实现?
2、用XML文件暂存到本地硬盘来处理AdoDataset的数据是否太老土了,是否有方法可以直接将Adodataset的数据进行打包发送?
3、这种方案是否可行?用TClientDataset更合适?
...全文
103 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Harryfin 2010-06-18
  • 打赏
  • 举报
回复
1、用不用UDP看你的网络环境,你应该知道UDP和TCP的优缺点吧
2、可能还是用ClientDataSet好点,如果你是这种用XML传递数据的方法的话,省得自己序列化数据集
bdmh 2010-06-18
  • 打赏
  • 举报
回复
用不用TClientDataset不重要,xml也不土,其实道理都一样就是传送数据,文件和流都是这么个流程,不过还是不建议用udp,用tcp,Socket技术是最底层的api实现,delphi的多种封装,都基于此
Middle ADO System 三层ADO的Internet远程数据库访问开发套件 获得最新版本: http//midado.cn 特点: 1、完全兼容Borland ADO Component的控件开发 从TCustomADODataset和TCustomADOConnection类继承,可快速从已完成或者开发中的程序进行升级和扩展 2、完全的三层架构 同时支持原生ADO访问模式和三层的扩展访问模式,开发过程同C/S模式一样,运行时设定Enabled属性,即可从C/S变成三层,随时切换模式。 3、后台自动连线机制 客户端在长时间使用过程中,如果网络异常断线,恢复后可继续使用业务功能,不用重新启动应用程序,更加适合在不稳定的网络环境中使用。 4、自动断线功能 客户端长时间不进行操作,服务端可暂时断开客户端连线,当用户需要继续操作时,通过后台自动连线功能,重新连接网络继续操作,对用户的操作没有任何影响。自动断线功能可充分利用系统资源,减少同时在线用户,同时保障每个用户的连接质量。 5、数据库共享连接池 多个客户端共享同一个数据库连接对象,可设定每个客户端独占数据库连接对象时间和自动回收时间。 大量减少数据连接数量,减少数据库的负载,极大提高数据库访问速度。根据设定的缓冲时间,可节约80%~95%连接对象资源 6、多数据库目录支持 一个中间层服务程序可同时提供多个数据库目录的服务,提供多个应用系统的多套数据连接并发服务 7、安全的Internet网应用 通过TCP/IP服务程序,提供Internet的外部数据访问功能,通过服务程序,隔离数据库的直接连接,有效保护数据库安全, 高效的数据压缩和加密传输,提高远程的数据访问速度和安全性。 8、服务端状态监控功能 对服务器的连线和负载状态进行实时监控,可查看每个客户端连接的来源和请求情况,包括数据的收发字节数 9、便于安装和维护 客户端不用装任何客户端数据库驱动和设置数据库连接对象,大量不同的客户端环境中进行客户端数据库连接设定,是需要花费不少人力。(例如Oracle) 使用场合: 1、需要安全的通过Internet远程数据库访问应用程序,如连锁加盟、各地办事处、等分布式应用 2、需要隔离数据库访问的高安全应用程序,例如在线实时交易软件、如股票证券、期货、外汇等交易等 3、大量客户端同时访问的应用程序,例如几千个用户同时连线对数据库造成重大负载的应用。 4、受到正版数据库软件用户连接数的限制,需要用少量许可提供更多客户端服务的应用。例如,10个许可提供给50个用户同时使用。

5,928

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧