Z
zlbati9
Unregistered / Unconfirmed
GUEST, unregistred user!
我使用阻塞SOCKET,服务端已写好从TServerClientThread继承下来的线程。
在客户端,我也使用一个从TThread继承下来的线程来通讯。仿照DELPHI的帮助,
procedure TClientSocketThread.Execute;
begin
TheStream := TWinSocketStream.Create(aSocket, 60000);
try
{ fetch and process commands until the connection or thread is terminated }
while (not Terminated) and (Form1.ClientSocket1.Active) do
begin
ReceiveData(TheStream);
end;
finally
TheStream.Free;
end;
end;
其中ReceiveData是一个读写TWinSocketStream的过程。我用此完成了传一个1M文件(当然,自己定义了每次传的包的结构)。但是,我的客户端
在接受完毕后就不能再次完成上述工作了。第一次用ClientSocket1.Socket.SendBuf(buffer, sizeof(databuffer));来发出请求的,在线程内部是直接读写
TWinSocketStream来发出请求。
是不是不正确?当我再次发出请求时,无反应。也就是说,在线程外部向服务端发请求时,应该用哪种方法?
请大家帮帮我!
在客户端,我也使用一个从TThread继承下来的线程来通讯。仿照DELPHI的帮助,
procedure TClientSocketThread.Execute;
begin
TheStream := TWinSocketStream.Create(aSocket, 60000);
try
{ fetch and process commands until the connection or thread is terminated }
while (not Terminated) and (Form1.ClientSocket1.Active) do
begin
ReceiveData(TheStream);
end;
finally
TheStream.Free;
end;
end;
其中ReceiveData是一个读写TWinSocketStream的过程。我用此完成了传一个1M文件(当然,自己定义了每次传的包的结构)。但是,我的客户端
在接受完毕后就不能再次完成上述工作了。第一次用ClientSocket1.Socket.SendBuf(buffer, sizeof(databuffer));来发出请求的,在线程内部是直接读写
TWinSocketStream来发出请求。
是不是不正确?当我再次发出请求时,无反应。也就是说,在线程外部向服务端发请求时,应该用哪种方法?
请大家帮帮我!