
シリアル通信について質問です。
デバイスオープンのところで、この関数で気になることがありました。
tcflush(fd, TCIFLUSH);
ネットではこのように説明されていました。
http://linuxjm.osdn.jp/html/LDP_man-pages/man3/t …
tcflush() は fd が行っているデータの出力でまだ転送されていないもの、あるいは受信し たがまだ入力していないものを破棄する。いずれを行うかは queue_selector の値で定める:
TCIFLUSH 受信したが読んでいないデータをフラッシュする。
TCOFLUSH 書いたが送信していないデータをフラッシュする。
TCIOFLUSH 受信したが読んでいないデータ・書いたが送信していないデータ両方 をフラッシュする。
ここでは、フラッシュは「転送」という意味になっていました。この説明を見ると、
受信と読み込み、書き込みと送信では意味が違うという説明がされていました。
僕は同じような意味なのかと思っていましたが実際違うのでしょうか。
この違いが分かる方、教えていただけると幸いです。
宜しくお願いします。
No.1ベストアンサー
- 回答日時:
このような場合、フラッシュ (flush)とは、綺麗にするとか、洗い流すとか、そんな意味です。
https://dictionary.goo.ne.jp/srch/en/flush/m1u/
通信とか、ファイル入出力とかでは、逐次処理せずに、いったん溜めてから処理することがあります。
例えるなら、
出力: 葉書を書くけど、すぐに出さずに、何枚かまとまったら出しにいく
入力: 届いた葉書を、届いた瞬間にその場で読むのではなく、いったん郵便箱に溜めておいて、順番に読む
という感じです。
ですが、これで終わり、となったとき、あるいは、ここで一旦区切りをつけたい、というとき。
途中までで残ったものを処理する必要があります。
上の例では、出す前のたまった葉書、郵便箱にたまった葉書をキレイにするということです。
このような処理を、コンピュータ用語で「フラッシュ」と言います。
ここで、出力と入力とで、求められるものが違います。
出力は、中途半端だろうと、残ったものを送るのが自然です。
一枚の葉書でも、送ろうとして書いた以上は、実際に送りたいものです。
ですから、全部送信しきってしまう、というのが、出力に対するフラッシュとなります。
入力の方は、これ以上読む必要なくなったから、他に影響が無いように、キレイにするのがよいです。
郵便箱に残った葉書はいらないものです。
それを廃棄するのが、入力に対するフラッシュです。
(残っているデータが必要なら、そのまま読み続ければいいのであって、フラッシュは不要です)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS GETをPOSTに変更したところ 送信 不能です。 1 2022/04/10 17:31
- ネットワーク OSI参照モデルの各層の役割がわかりません。 3 2023/04/21 21:12
- その他(コンピューター・テクノロジー) 「プロトコル」の定義について 5 2023/04/16 13:13
- UNIX・Linux redmineにメールを飛ばす方法 1 2022/09/13 22:02
- C言語・C++・C# TCP/IP通信時のサーバーからの受信 2 2022/11/23 09:11
- docomo(ドコモ) +メッセージの送受信。 au(uq mobile)のデータ回線でdocomoの電話番号の+メッセージ 2 2022/09/14 16:09
- USBメモリー・SDカード・フラッシュメモリー 銀行が振込データの受け渡しに未だにFDを使っている理由は「FDDがAドライブ固定だから」って本当? 11 2022/06/02 03:53
- その他(メールソフト・メールサービス) Windows10付属のメール、なぜ設定が劇的に簡単になったのか? 1 2022/12/16 13:14
- その他(メールソフト・メールサービス) メールサーバーは「PC側がメールをDL済みか否か?」を何を以て感知するのか? 2 2022/12/20 14:56
- iPhone(アイフォーン) 皆さんiPhoneは、機能が少な過ぎますか?? iPhoneには、なぜ僕がAndroid合計3台持ち 2 2022/07/12 19:59
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
名古屋の栄と錦は治安悪い?
-
受け取った値が"undefined"と表...
-
TextBoxにカーソルがあるかない...
-
フォームを開く時のイベント処理
-
NumericUpDownの数値を選択済み...
-
PHPのみで、動的なセレクトボッ...
-
VB.NETのテキストボック...
-
シリアル通信について
-
シリアルフラッシュメモリをな...
-
ヒント表示について
-
C++の例外処理
-
『μg』の読み方と意味。
-
書き込み可能なページの作成は?
-
vba メモリーリーク
-
microSDカードの選び方
-
CD-RWメディアにマジックで書い...
-
カーソル移動と同時にデータを...
-
globalと$GLOBALSの違いは?
-
エアー漏れの流量の計算式を教...
-
デュアルモニタ×2分岐
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
名古屋の栄と錦は治安悪い?
-
VB.NETのテキストボック...
-
項目数は英語で
-
『μg』の読み方と意味。
-
VB.NET でのLaod/unLoad につ...
-
NumericUpDownの数値を選択済み...
-
テキストボックスからフォーカ...
-
mailの送信音がしなくなったの...
-
フォームを開く時のイベント処理
-
ヒント表示について
-
一部の文字のみ文字化けします
-
シリアルフラッシュメモリをな...
-
シリアル通信について
-
【C#】 複数行GcTextBoxのフォ...
-
vba メモリーリーク
-
ob_start()した後、ob_flush()...
-
PDFの余白、黄ばみ除去等の加工...
-
ACCDE形式でクエリの警告メッセ...
-
VBのレコードセットを閉じない...
-
エアー漏れの流量の計算式を教...
おすすめ情報