G
ghqisme
Unregistered / Unconfirmed
GUEST, unregistred user!
本人在用做代理服务器时遇到一个难题,百思不得其解,望有高人指点迷津!!!
主要一段在下面,当客户端有数据来时会触发该过程,其中FRemoteSocket为连接远程
主机的套接字
procedure ClientDataAvailable(Sender:Tobject;Error:Word);
begin
..//省略若干............
if FsocksState=SocksData then //判断客户端此时是否在数据传送状态;
begin
R4:=FClientSocket.ReceiveStr;
if R4='' then
begin FClientSocket.close ;
exit;
end;
//从判断远程客户端是否在连接着,然后把客户端数据发给它;
if FRemoteSocket.State =Wsconnected then
begin
FRemoteSocket.SendStr(R4) ;
end
else Self.InternalClose(Client);
exit;
end;
问题是当客户端上传的速度的太快,而我代理服务器还没来得及把所有的数据都发完。造成
上传不完全;各位有何良策,共同来探讨学习。分数不是问题,只要有好主意思路,
我会再给200分。
主要一段在下面,当客户端有数据来时会触发该过程,其中FRemoteSocket为连接远程
主机的套接字
procedure ClientDataAvailable(Sender:Tobject;Error:Word);
begin
..//省略若干............
if FsocksState=SocksData then //判断客户端此时是否在数据传送状态;
begin
R4:=FClientSocket.ReceiveStr;
if R4='' then
begin FClientSocket.close ;
exit;
end;
//从判断远程客户端是否在连接着,然后把客户端数据发给它;
if FRemoteSocket.State =Wsconnected then
begin
FRemoteSocket.SendStr(R4) ;
end
else Self.InternalClose(Client);
exit;
end;
问题是当客户端上传的速度的太快,而我代理服务器还没来得及把所有的数据都发完。造成
上传不完全;各位有何良策,共同来探讨学习。分数不是问题,只要有好主意思路,
我会再给200分。