「 2017年08月14日 」一覧

C++/CX の小ネタ その2


データの通信で Stream を扱っていたときに出遭ったものです。
送受らの際に、持っているデータを送り出すのは Flush だと考えていると同じようにはまります。

注意事項

持っているデータを送り出すのは Flush というのは間違っていないのでしょうが、
C++/CX のストリーム系の実装のうち、DataReader/DataWriter の詳細がちょっとだけ異なるのがポイントでした。

これらは内部バッファにデータを読み込み、自分の期待するデータで取り出す(出力する)といったものになっています。
そのため、内部バッファのことを考慮したコードを書く必要があるようです。

データを送出のときには、 StoreAsync を呼び出します。
受信の際には、 LoadAsync を呼び出します。これらによって、内部のバッファとのデータをやりとりが行われます。

これらの詳しい説明は以下のページのものが非常にわかりやすく、勉強になりました。

http://garicchi.hatenablog.jp/entry/2015/01/04/102749