TTcpServer控件写多线程问题???
我用TTcpServer控件自已写的一个TcpServer服务程序,在OnAccept事件中这样实现多线程,不知道可行不,经过我测试,多个客户连接上传文件,出了超时现像,用多线程不是不应该出现这类问题,请大神帮我看一下,TTcpServer控件做多线程服务中,能否在OnAccept事件中像我这样写代码???我不懂这个控件,我想我是有点混乱的,请大神多指点一下,谢谢!!!
procedure TMYTcpServer.PD_OnNewAccept(Sender:TObject;vClientSocket: TCustomIpClient);
var
mTcpSeverThr:TSeverReceiveThread;
begin
mTcpSeverThr := TSeverReceiveThread.Create(vClientSocket);//创建接收线程,并挂起
mTcpSeverThr.RunMsg := PD_ThrRunMsg; //设置线程中运行进度信息返回到主窗口的一个方法 (线程中用Synchronize()调用)
mTcpSeverThr.ToMsg := OnMessage; //线程普通信息返回到主窗口的一个方法(线程中用Synchronize()调用)
mTcpSeverThr.Start; //起动线程
while vClientSocket.Connect do //判断当前客户端Socket是连接,
begin
Forms.Application.ProcessMessages;
if Not Assigned(mTcpSeverThr) then Exit;
end;
end;