文件名称:封装良好的Socket实时通信程序
文件大小:131KB
文件格式:RAR
更新时间:2011-11-05 16:46:18
实时通信
这是一个自我感觉很好的通信程序,它的特点: 1.数据包格式全部自己定义。 所有的定义和通信核心类全部在COMM文件夹中。 2.能处理大量客户端同时通信的情况,客户和服务端共用相同的通信对象,并且可以实现互传。 3.通信细节全部封装在几个通用的类中,隐藏了交互通信的所有处理细节,如断包处理,超时重发等功能。 4.数据通信和数据具体应用完全分离,扩展性良好,本例中只做一个上传文件的例子,你可以在不用改动通信核心的情况下,可以实现远程控制所需的任何功能,并且不需要考虑通信细节。具体方法可以参考:CommSrvApps 单元的TSrvApp_File类,只需写一个新类即可: TSrvApp_File = class(TServerAppObject) public function ProcessData(ABuf: PChar; ASize: integer): integer; override; end; 通过以上类配合通信核心类,实现了远程实时传送一个文件就像copy那么简单。 其它: 此程序是我自己开发的连锁超市方案中数据交换的应用实例,所以客户端和服务端的代码有点多,但多是与通信本身无关,所实现的功能是将本地Local文件夹与远程Remote文件夹的.rs文件互相进行传送。 如果你有什么建议,欢迎来www.acreport.com交流,或者给我写信:shaohaijian@sina.com 作者:shaoyy
【文件预览】:
配置方法.txt
控件补丁
----MaxMin.dcu(2KB)
----Rxconst.pas(2KB)
----Trayico.PAS(21KB)
----cmmdpk.res(2KB)
----Trayico.dcu(13KB)
----FlEdit.dcu(8KB)
----cmmdpk.dof(2KB)
----FlEdit.pas(6KB)
----cmmdpk.dcu(3KB)
----Rxconst.dcu(809B)
----MaxMin.pas(4KB)
----cmmdpk.dpk(649B)
----cmmdpk.cfg(446B)
¿Ø¼þ²¹¶¡
----2ccc.com.nfo(901B)
server
----CSrv_const.pas(331B)
----CSrv_Setup.dcu(4KB)
----CSrv_Setup.dfm(2KB)
----CSrv_main.ddp(51B)
----CSrv_main.dcu(20KB)
----Data()
----CSrv_main.pas(15KB)
----CSrv_const.dcu(635B)
----CServer.res(11KB)
----CSrv_main.dfm(27KB)
----CSSetup.dat(8B)
----CSrv_Setup.pas(776B)
----Remote()
----CServer.dof(2KB)
----CServer.dpr(471B)
----2ccc.com.nfo(901B)
----local()
----CSrv_Setup.ddp(51B)
----CServer.cfg(442B)
commu.gif
client
----Local()
----Data()
--------log.dat(189KB)
----CClient.cfg(614B)
----CC_Const.pas(324B)
----CClient.res(11KB)
----cmmsetup.dat(332B)
----CClient.dof(2KB)
----CC_Types.pas(637B)
----CC_main.dcu(30KB)
----CC_main.pas(22KB)
----CC_main.dfm(44KB)
----CClient.dpr(302B)
----CC_main.ddp(51B)
----2ccc.com.nfo(901B)
----CC_Types.dcu(974B)
----CC_Const.dcu(655B)
说明.txt
2ccc.com.nfo
comm
----SelfFunc.pas(25KB)
----CommSrvApps.pas(2KB)
----CommClass.dof(2KB)
----CommClass.dcu(3KB)
----CommObj.dcu(18KB)
----CommClass.dpk(643B)
----CommObj.pas(20KB)
----CommUtils.dcu(1KB)
----CommClass.cfg(446B)
----CommSrvApps.dcu(3KB)
----CommClass.res(2KB)
----2ccc.com.nfo(901B)
----CommUtils.pas(1KB)