使用indytcpserver/indytcpclient在局域网内测试发送4M文件竟然用了20分钟,请看代码(100分)

  • 主题发起人 主题发起人 dfw001
  • 开始时间 开始时间
To dfw001:
要看你Client side是如何设计了!
我看你是不是没用过Indy ?
Client Side也放两个组件啊,一个是TCPIPClient 一个是TCPIPServer!!!
Client组件为发送,Server组件为接收!那怎么会出现混乱呢,因为Server
为每个连接均建立一个Thread进行侍服!!
这也是基于线程的网络传输服务的最基本的写法。
我用这种方式写过很多程序了。
 
多线程的话加个序号来识别就行了吧
 
to Rocklee 哦,这样啊,我一般客户端只放一个TCPIPClient,服务器端才放一个
tcpserver,你的方法我试试。
我一般数据库做的多点,只是现在要编一个通讯方面的才使用indy,非常感谢你。交个朋友
175140297这是我的qq。
请到这里拿分。
http://www.delphibbs.com/delphibbs/dispq.asp?lid=2016878
 
Client Side也放两个组件啊,一个是TCPIPClient 一个是TCPIPServer!!!
to Rocklee 我又来了,你的方法我测试好象行不通啊

因为客户端ip不是固定ip,客户端加个TCPIPServer没有固定ip怎么用?
 
看得我的人都乱了。呵呵:)
我用INDY写过一个发送文件的东东。很快啊。10M的局域网上可以达到大概800多K/秒。
在宽带网上传有过100多K。还支持断点续传。支持发送整个目录。支持压缩目录,用它来压缩了FIFA2003。500多兆。一样的啊。大概都是这个速度。要源码的话我可以发给你。呵呵。不过用了好些组件。都发的话太多了。可以把怎么发送文件的关键部分代码给你。
 
to 呆四少那太好了,发给我参考一下,我给你加分。
我的email: dfw001@tom.com
关键是发送和接受
 
已发送,请查收。
 
To dfw001 :
不需要用固定IP啊,在TCPIPServer里,你用PeerIP就可以拿到连接的Client Connection 的IP了!
用这个: AThread.Connection.Binding.PeerIP
 
如果你能仔细参考一下Indy的Help就能很容易应用它了,Indy组件写得非常好。
在Delphi5的年代,我已经开始研究Indy了。

 
看得出你是个indy高手,我再试试,
我以前一直搞数据库的,搞通讯水平很差,很谢谢你的耐心指导。
 
多人接受答案了。
 
后退
顶部