关于网络数据传输,如何使一个线程暂停传输数据?suspend?或者说限速。UP! UP! (300分)

  • 主题发起人 主题发起人 rustle
  • 开始时间 开始时间
R

rustle

Unregistered / Unconfirmed
GUEST, unregistred user!
作一个Socks5 proxy
在TServerWinSocket基础上编程,使用Non_blocking模式
基本已经完成
能稳定工作
但是现在发现一个问题
就是Client - Server速度比Server - Dest快时
客户端数据可能已经发送完毕
但此时Server端还在向Dest目标主机发送数据

这个速度差别可能会很大
导致速度快的那一端看到的传输情况比实际要好得多。

这在FTP传输中影响很显著
客户端上传数据速度很快
传完关闭连接
而目标主机只收到一部分。

不知道说清楚了没有?
分数不是问题
 
在Client - Server和Server - Dest间设置一个同步对象
 
等于没说

关键是怎么让他同步

如何在Socks服务器收到数据但还没有成功传输到目标的时候使客户端慢下来
 
应答方式:
客户端发送一段数据-》等待
服务器端接受数据处理-》完毕,应答
客户端收到应答继续发送数据......
 
客户端,远程主机都不是我控制的

我写的是Socks proxy
 
proxy也可以控制呀
dest没应答,你不接收client就不会发了
 
接受答案了.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部