我的任务是创建第2层应用程序,如下所示:
MSSQL数据库< - >服务器< - > n-Client(n为许多人)
客户端将数据发送到服务器。服务器从数据库中选择内容,然后将其发送回客户端。目前我正在使用Records和SendDataToSocket(url在下面)。
我想在客户端上使用通过服务器套接字收到的数据来使用TDBGrid。目前它是这样的:
服务器 DB - > ADOQuery - > DataSetProvider - > ClientDataSet - > SaveToStream(MemoryStream的)
客户端: ClientDataSet - > LoadFromStream(MemoryStream) - > DataSource - > DBGrid的
所以我想要做的是将服务器端clientdataset创建的流发送给使用loadfromstream读取流的客户端。 SendDataToSocket在这里可行吗?
我希望你明白我的意思。
答案 0 :(得分:1)
是的,只要客户端准备好接收数据。这可以很好地工作,但是根据您在发送之前可能希望压缩内存流的数据量和类型。我在以前的项目中执行过类似的方法,但我使用synapse进行数据传输......但基本概念是相同的。
zlib单元(包含在CodeGear中)包含一个简单的流包装器,它提供压缩和解压缩。由于您控制电线的两侧,压缩很可能通过缩短电线时间来提高性能。