bluetooth大富豪ゲームで重大な欠陥に気づく

androidのcentralからdataを送ると、2重でdataが来てしまうことがあって、原因を探っていたら
onCharacteristicWrite関数での送ったdataと送られたdataの不一致が原因でした。

dataが不一致になった場合、送ったdataをperipheral側でリセットするようにしているんですが、
大富豪では通信量を減らしているため、一回でdataのパースができるために、
仕組み上dataが不正と受け付けられないので。

2回とも正しいdataとして処理されてしまいます。

対策を考えたけど、どれもめんどくさくて、苦しい。

こんなんばっかりだ。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です