W
wolf2005
Unregistered / Unconfirmed
GUEST, unregistred user!
Socket接收数据并进行缓存:List:Strings;
procedure TXMlData.OnReadData(Sender: TObject; Socket: TCustomWinSocket); //OnRead事件对应的过程
begin
Index:=Index+1;
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中去吗?
procedure TXMlData.OnReadData(Sender: TObject; Socket: TCustomWinSocket); //OnRead事件对应的过程
begin
Index:=Index+1;
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中去吗?