不问了.......... (50分)

  • 主题发起人 主题发起人 wolf2005
  • 开始时间 开始时间
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中去吗?
 
使用线程阻塞模式
 
:爱元元的哥哥,
能不能讲的详细点啊?
大体实现步骤是什么样子的?
 
不知道为什么,怎么没有人回答?说说你的看法也好。难道我这个问题很怪吗?还是分少不想回答?帮帮忙啊,
 
ProcessData放在Socket接收中会不影响Socket接收数据?
不会,如果你的机器不是双cpu的话,基本上对处理速度没多大影响。

比如现在正执行while这时又来了一个新的数据Soket能不能接收?它还会存到List中去吗?
会,socket收到的数据会累加在一起。
 
后退
顶部