请教下各位,现在我用一些串口控件采集到本地的一些设备的信息,可以在本地显示和保存,如果我想做到:服务器端只用来做采集,采集的信息存在数据库或者哪里,而客户端通过网络访问这个服务器的信息,显示出来,我看了一些书,说到一些TidTCPClient,TidTCPSERVER,是不是可以通过这些控件进行连接啊,具体做法一些书上也没有看到呢,还请各位指导指导,如果能过做一个相互通讯的小程序就最好了,谢谢

解决方案 »

  1.   

    按照suton 老兄的解答做即可!
    http://topic.csdn.net/u/20081125/16/100973ed-9ce2-4d07-af7d-371a91b9e6ce.html
      

  2.   

    直接看Indy组件的Demo,没有的话到www.delphifans.com,www.2ccc.com找找看。
      

  3.   

    用花生壳很简单的,你把把本地三层的SOCKETCONNECTION的连接地址改为花生壳域名就可以,
      

  4.   

    谢谢你的回答啊,能不能详细点说明下本地三层的SOCKETCONNECTION是什么意思么?初学不是很懂,能不能详细点介绍下呢,谢谢
      

  5.   

    纯粹Delphi自身的多层框架的实现,几乎都只是达到了玩具的程度,也只能做做Demo给人看,真的到了实战场合,就会暴露出完全不可行:
    1)COM+虽然好,却部署困难,难于管理,无法穿透防火墙,诚然有scktsrvr.exe或httpsrvr.dll这样的转接桥程序,却会因为多出一个数据转接口模块从而品质大为下降;
    2)exe形态的DCOM的Midas Server部署起来好一些,但是其稳定性、性能却比较低下,没有object pooling,是instance per connection的方式,几乎无法应对大量客户端的场合,而且往往很难直接使用,大多是配合scktsrvr.exe,用socket的方式连接;
    3)Delphi的Web Service只能说是“权宜之计”,是稍微可用一点的Delphi的互联网解决方案。不过,相比于其他的支持Web Service的开发平台,Delphi的Web Service毫无突出之处:开发方便性和性能,都不如Asp.Net;跨平台、绿色性、成熟性,不如Java及其一大堆基于Java的Application Server。Delphi是个高效率的语言,可是在其自身的Web Service实现上,并没有作很好的优化。
    4)IntraWeb也同样是一套玩具级别的开发平台,高不成、低不就,纵然发挥到了极致,不过是和asp.net差不太多。
    5)直接用ActiveForm开发Web系统,这种方法不加变通的来用的话,几乎完全不可行,如果你的系统是一大堆每个1、2M的OCX文件,这将是一件多可怕的事情:每个模块都要注册,同时每个模块更新后,打开页面要等很长时间安装这个模块。
    独头蒜的Delphi就是这么一个东西:貌似有很多路可以走,但实际上每条路都走不通。不过熟悉Delphi的人都明白,Delphi的好处并非是它提供了现成的好东西,而是用它能做出好东西来。Delphi的很多思想和模式是好的,只是实现的并不很到位,比如说Midas。实现的不到位,那我们自己来实现好了。
    CBX RIA框架就是这么个东西,其实是发扬了Delphi的特色,同时又把欠缺的东西补齐了:
    1、采纳一个强有力的Web Server(例如Apache或IIS)直接当作应用服务器
    2、发挥优势,客户端用VCL,用bpl的机制给客户端减肥
    3、中间层无状态,Pooling
    4、直接采用http协议通讯,天然穿透防火墙
    5、热部署程序模块,解决部署的麻烦
    6、用一个小exe初始化程序,来初始化浏览器,绕开浏览器安全设定的麻烦。CBX RIA框架几乎是国产多Delphi层框架中最好的一个,同时体现SmartClient和RIA思想。 
    CBX RIA Demo(需要客户端初始化): http://117.21.247.37/cbx/AppSvr.dll/Splash.ao
    有关CBX RIA的评论:http://www.firebird.net.cn/forum_view.asp?forum_id=2&view_id=2251
    刚创建的CBX RIA讨论区
    http://www.firebird.net.cn/forum_list.asp?forum_id=11

    CBX RIA案例:
    http://www.firebird.net.cn/forum_list.asp?forum_id=12
    CBX RIA QQ群
    主讨论群:53623431(已满)
    第二群:16169282
    第三群:63756040
    第四群:64740999
    第五群:511572126
      

  6.   

    感觉楼主的意思是服务器用来采集存储信息,客户端能访问这些数据就行?如果是这样,你只需将信息存储到数据库中,客户端只是访问数据库就OK。既然你的信息可以保存到数据库中,客户端只需访问数据库就可以了,为什么还要TidTCPClient,TidTCPSERVER?
      

  7.   

    哦,谢谢DMU_WD兄的回答啊,是啊,基本上我的意思就是这样啊,那样客户端不是要通过一些组件来跟数据库连接么?还想请教下怎样做呢,谢谢
      

  8.   

    如何再详细?总不能贴代码吧?而且我觉得现在是概念问题。单机版程序总写过吧?单机版的数据库肯定是连接到本机的数据库比如access,sql。可以这么简单理解,如果server不附加其他服务的话,C/S结构的客户端程序就是把单机版程序中数据库连接的名字改为服务器上的数据库名称,比如sql server的服务器名称。
      

  9.   

    哦,这样是么,我想想,直接连接远程的计算机的sql数据库,这样频繁的连接会不会对远程数据库有压力呢,谢谢,多台客户机同时连接,是不是也可以呢?还是要用到线程之类的,谢谢回答