对于命令,有两种情况,一种是异步,一种是同步。同步命令只定义那些很短时间就能完成的任务,如信息的请求,信息的发送等。对于需要较长时间的任务,应定义为异步命令,以防止命令的阻塞。
同步命令
<Sync>值为0
直接通过result通道返回已生成的观测计划
异步命令
<Sync>值非0
先通过 result 通道发送 <?xml version='1.0' encoding='GB2312' ?><ErrorCode>0</ErrorCode> 给OCS ,表示命令接收
开启新的线程制定观测计划,在计划制定的过程中,通过 Status 通道向OCS发送状态和执行进度信息
计划制定完成后通过 Status 将生成的XML格式的计划发送给OCS
注: 只有在发送状态的时候才将 <bExeStatus> 设为 true,其余均为 false
生成的XML格式的计划作为一个Value,嵌入到状态命令中的 <StatusAttribute>
博客介绍了命令的两种情况,同步命令用于短时间完成的任务,如信息请求和发送;异步命令用于长时间任务,防止阻塞。同步命令通过result通道返回观测计划,异步命令先发送接收信息,开启新线程制定计划,过程中通过Status通道发送状态和进度,完成后发送XML格式计划。
356

被折叠的 条评论
为什么被折叠?



