我的程序思路大概是:
    c/s结构,客户端不连接数据库,只是提交查询的条件给服务器端(通过Tidtcpserver/Tidtcpclient来通讯),由服务器端查询好,把查询的记录发送回客户端。我遇到的问题:
    indy10好像没有WriteBuffer/ReadBuffer的哦。不知道如何把数据库结果整理成什么结构发送。每次查询都上百条记录的。是否能整理成内存流????请各位兄弟姐妹帮下忙,给我个思路,给我点关键的代码就成。谢谢!!!!!

解决方案 »

  1.   

    把你的数据打包成XML,然后发送。为什么你要直接用indy做三层,而不用dataSnap,WebService或其他RemObject之类的
      

  2.   

    INDY可以把一个缓存的数据发送,其中的Write方法是重载的,可以有各种参数(string、byte等)
      

  3.   

    定义一些record,直接发这些record就行了。一般先发个定长的报文头record,里面指定后续数据长度。接收端先收报文头,解出剩余数据长度,接着收就行了。
      

  4.   

    既然不是直接的c/s,为什么不把tcp固定为http(更方便通过防火墙),服务器端固定为web server+应用服务程序(免去了自己写高效、稳定的通信程序)
      

  5.   

    多谢大家给出的思路,我马上去搜索一下 dataSnap,WebService,RemObject的信息。