文件名称:多线程网络传输
文件大小:53KB
文件格式:RAR
更新时间:2015-09-12 03:34:49
多线程 网络传输 Delphi
在盒子里得到了这么多朋友无私的帮助,真的表示感谢!看到很多朋友在寻求多线程网络传输代码,为此,从我开发的网络棋牌游戏中整理出这个献给大家:) 开发环境:Delphi7.0+WinXP,没用其他控件(除了Delphi自带的Indy) 使用协议:TCP/IP 客户端一次发送65000字节的包,服务端负责组装并处理数据粘连。 使用ReadBuffer(),Send()函数来接收发送Buffer内字节,这样作的目的是使程序具有更好的灵活性。你可以自定义Buffer内那些字节的含义,例如是字符串、图像、声音、命令等等。 文件的多线程读写采用windows内存映像技术。 关键的服务器处理函数IdTCPServer1Execute(AThread: TIdPeerThread)是非线程安全的。如果使用临界区,那么多线程将在这里串行执行,严重降低多线程效率。对此,我采用一个简单的办法,具体可以看程序。
【文件预览】:
说明.txt
多线程传输客户端
----Unit1.dfm(2KB)
----Unit2.dcu(508B)
----Unit1.pas(11KB)
----Unit1.dcu(14KB)
----Unit2.pas(108B)
----Project1.res(81KB)
----Project1.dof(2KB)
----Project1.dpr(269B)
----Project1.cfg(390B)
----Unit1.ddp(51B)
多线程传输服务端
----Unit1.dfm(1KB)
----ThreadPublicData.dcu(462B)
----Unit1.pas(2KB)
----SocketProcess.pas(5KB)
----Unit1.dcu(5KB)
----SocketProcess.dcu(5KB)
----ThreadPublicData.pas(157B)
----Project1.res(876B)
----files()
----Project1.dof(2KB)
----Project1.dpr(240B)
----Project1.cfg(390B)
----Unit1.ddp(51B)
----ipfilter.cfg(34B)