情况是这样的:
上位机主动发送数据给下位机,下位机接收后自动执行相关动作,然后向上位机发送结果数据。我用的IdTCPserver 和IdTCPClient进行通信。因为下位机的所有动作都是自动执行的,所以目前我在下位机中是这么写的
procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread);
begin
//接收数据过程
//下位机相关动作
//向上位机回发数据
end;
由于从接收数据开始到向上位机回发数据这段过程需要一定的时间,我感觉一直在IdTCPServer1Execute中执行不太好,想把 “下位机相关动作”,“向上位机回发数据”两部分独立出来,等数据接收完成后自动执行,但不是在IdTCPServer1Execute中。
小弟是刚接触这方面的东西,所以有些地方还不是很明白,不知道怎么实现,求各位不吝指教啊