双向同步功能: if fflag120 = False then // 如果35秒没结果,把该连接中断,不要再收消息 FDiocp1202473131.Close(True) else begin if (MSG = 'Y') then Delete else begin Edit; FieldByName('t').AsBoolean := True; FieldByName('msg').AsString := MSG; Post; NEXT; end; end; 工作原理,在发送同步命令后,有可能得不到执行结果,继续再次发送下一个同步,有可能收到的结果是上一同步的结果, 修改成,如果没有收到结果,直接把连接中断,下个循环再次连接。 2019-05-16:更新 香港与内地的网络不稳定,经常断开,当断开次数达到一定次数后,TCP连接就失效。 之前没有释放后重连,然后等待的时间不够长。 现改成:连接不响应后,要释放TCP控件,重新创建。问题就得到解决。 |