Skip to content

Instantly share code, notes, and snippets.

@TakashiKusachi
Last active June 28, 2018 19:38
Show Gist options
  • Save TakashiKusachi/9c79a2819e264845caf3b16e83aa3a1b to your computer and use it in GitHub Desktop.
Save TakashiKusachi/9c79a2819e264845caf3b16e83aa3a1b to your computer and use it in GitHub Desktop.
なぜ、SET_、GET_命令で分けるのか?

単純に考えるならば、サーバーがRTR=0で送ったらSET、RTR=1で送ったらクライアントが返すGETという風に同一IDで二つとも実現できて、IDの使用効率が高いのではと考えられる。つまり、SET_命令ではRTR=1にすることがないので、その分が無駄であるということである。

この様な仕様になっていないのは、この通信をほかの装置がロギングしようとすると、IDが同一では判別のしようがないからである。かならず、RTR=1の後にデータが来てからRTR=0で目的値を設定するようになれば問題ないが、そのようにならない場合には、区別不可能となる。 これに対処すべく、SET_とGET_を分ければ指示値なのか現在値なのか区別が可能になるから、このような仕様になっている。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment