Socket接收数据后数据量很大,缓存之后,如何处理,请高手指点....在线等!马上给分
Socket接收数据并进行缓存:List:Strings;
procedure TXMlData.OnReadData(Sender: TObject; Socket: TCustomWinSocket); //OnRead事件对应的过程
begin
BeforeResolveData:=TStringList.Create;
BeforeResolveData.Text:=Socket.ReceiveText;//每秒收到800条左右的数据
List.AddObject(IntToStr(Index),BeforeResolveData);
while List.Count>0 do
begin
ProcessData;//些过程用处理 AlarmList中缓存的数据,此过程比较耗时间
end;
end;
ProcessData放在Socket接收中会不影响Socket接收数据?接收大量为防止处理不过来,有没有什么好的方法,请高手指点。我觉得象上面这么做会有问题,比如现在正执行while这时又来了一个新的数据Soket能不能接收?它还会存到List中去吗?