问一下写一个service application 接收客户端数据相关的问题:
1.可行性:
   服务端与客户端相互传送数据,服务端接收客户端数据时需要进行mssql数据操作,再把数据库操作(比如查询)返回的消息发给客户端, 这样的一个程序,做成win32服务程序好,还是一般的程序好?假如做成win32服务程序形式:
1.控件:
    新建了一个service application 一个datamoduledatamodule上面放几个ADO控件,在service application放idtcpserver
2.事件
    service application 的server start 的时候启动线程,处理客户端发送过来的数据,再把结果返回给客户端
如果这样做的要注意些什么,比如:假如很多客户端同时连过来,是不是给每个客户端于个线程,一个客户端连接用一个ado控件,或动态生成,假如某一段时间,无任何客户端来连接该服务程序,服务程序是不是就会自动关掉,需要一个死循环吗?
   
问题似乎很多,第一次接触这些东西,还期望大家能耐心赐教,谢谢

解决方案 »

  1.   

    在delphi中一般使用midas或webservice实现你所说的功能,当然还有许多其他的方式,就不多说了
    midas就不大建议新手用了,因为要真正用得好midas不是一般人能做得到的,我建议你使用webservice来实现,因为使用webservice来实现起来比较简单,而且具备有很多优点
      

  2.   

    ------------------ 
    service application 的server start 的时候启动线程,处理客户端发送过来的数据,再把结果返回给客户端 
    如果这样做的要注意些什么,比如:假如很多客户端同时连过来,是不是给每个客户端于个线程,一个客户端连接用一个ado控件,或动态生成,假如某一段时间,无任何客户端来连接该服务程序,服务程序是不是就会自动关掉,需要一个死循环吗? 
    -------------------你考虑的是对的,考虑一下餐厅是如何解决的?很多人点菜,还不是一个厨师或者几个厨师一个个烧出来的?这个过程要么就是竞争,要么就是调度排队!
      

  3.   


    服务程序你不等到系统登陆,来进行操作,好多会失败
    一般的做法都是,服务运行的时候,等到系统登陆才开始操作(常用都是判断进程explorer有没起来才开始操作)
      

  4.   

    我现在也在考虑 类似的问题,楼主可关注http://topic.csdn.net/u/20100113/21/3767e0f6-2f3a-4530-8ba6-7851b1e25967.html?seed=476588591&r=62706377#r_62706377ps:想楼主这样的情况,确实用MIDAS好些,推荐看一个李维的 分布式 开发 专门讲这个的