Delphi三层 压缩数据传输
Client:TSocketConnection 和Server: Scktsrvr关系----压缩数据传输
一直用SocketConnection和服务端的传输数据在三层数据库中,从来没有注意到它们之间的数据传输,只是想着,管它了,网络的事,前段时间在Delphi中的Demos中发现Demos\Midas\Intrcpt.dpr例子,呵呵,再看了半天的VCL发现可以将Client端发送的给Server的数据,和Server发送给Client的数据是可以进行压缩的。呵呵,不敢藏私,Share给大家。
1:
准备工作,先delphi光盘中的\info\extras\zlib\zlib.pas进行编绎,然后copy 到lib路径中,因为要压缩数据,必须要有压缩功能,这个delphi已经自带,它是基于流的方式对接口IDataBlock(TDataBlock实现,其实就是对TMemoryStream的操作)数据进行压缩和解压的。做了这个后,才能进行下面的工作。
2:
Open \Demos\Midas\Intrcpt\Intrcpt.dpr
complier....(如没有做第一步,嘿嘿...)
生成Intrcpt.dll
将Intrcpt.dll copy to System directory,或者你的程序下面。
注册它:regsrvr32 Intrcpt.dll (为什么,这个嘛...)
记住Intrcpt.dpr的那个GUID,你也可以自己重新生成一个(按Shift+Ctrl+G)
3:
Server:
Open scktsrvr.exe,相信各位都很熟悉那界面,端口(TListbox),Thread Cache Size(TEdit), GUID(TEdit),好,我们要做的事,就是将注册的Intrcpt.dll那个GUID填到这个GUID(TEdit)框框中,
只需填自己程序的的那个端口的GUID啊,别乱填,如果有别人用这个程序,出了什么,别找我。OK,Apply.
Client:
你写的程序中肯定有TSocketConnection,它有个属性InterceptGUID: string;好了,将Intrcpt.dll的GUID填上去,它是跟Server中的一样的。OK.还有别忘了,Regsrvr32 intrcpt.dll 在你的客户端。不然,程序虽不会raise,但是Server传过来的数据是压缩的....
好了,呵呵。就这些了。3步骤,很清楚吧(不会吧,还不懂,倒)
原理
scktsrvr.exe其实是一堆TServerSocket,一个端口代表了一个TServerSocket,每个TServerSocket是基于多线程方式与客户端进行数据交换。它写了个TServerClientThread(在服务端中的客户端)的扩展
,多加了对客户端数据接收的管理解析,还有ActivityDateTime,GUID,一般不管它。但是我们用到的压缩只是跟这个GUID有关,其它费话少说。
Server接受一个Client连接,则加一个TServerClientThread到本地中,用来监控Client Read 和Close事件,所以Server中的scktsrvr中我们只要了解了TServerClientThre
相关文档:
百度知道真垃圾,那么大的一个企业,就给那么点空间,提个问1500字限制了。想想来csdn,挂了一个星期都没人理,不知道是我分太少,还是真的高手都不来这里???期待一个英雄的到来,菜鸟我在这里拜谢了!!其实这根本不是生命难题,我才刚刚学,问不出生命高深的题目来:
rT;
delphi7 ,DB:oracle
问题运行工程文件exe不 ......
3.2 用户登录方案
在进入一个系统时,必须先在登录窗体中输入正确的用户名和密码才能进入。这样可以确保系统的安全性和保密性,登录窗体的制作按照系统的大小及用处,可以分为不同的登录窗体样式,在系统第一次登录前,首先要对操作员信息进行相应的设置。本节将对登录窗体及操作员管理窗体的制作过程进行详细的说明 ......
3.2 用户登录方案
在进入一个系统时,必须先在登录窗体中输入正确的用户名和密码才能进入。这样可以确保系统的安全性和保密性,登录窗体的制作按照系统的大小及用处,可以分为不同的登录窗体样式,在系统第一次登录前,首先要对操作员信息进行相应的设置。本节将对登录窗体及操作员管理窗体的制作过程进行详细的说明 ......
3.2 用户登录方案
在进入一个系统时,必须先在登录窗体中输入正确的用户名和密码才能进入。这样可以确保系统的安全性和保密性,登录窗体的制作按照系统的大小及用处,可以分为不同的登录窗体样式,在系统第一次登录前,首先要对操作员信息进行相应的设置。本节将对登录窗体及操作员管理窗体的制作过程进行详细的说明 ......
Delphi操作INI文件步骤如下:
-------------------------------------
1)在Uses中添加iniFile单元;
2)声明TiniFile对象;
3)创建TiniFile对象;
----------------try------------------
4)INI文件读写操作;
--------------finally----------------
5)释放TiniFile对象;
---------------end--------------- ......