FIFO を介してクライアントと通信するサーバーを構築しています。
これまでのところ、FIFO を作成し、メッセージが FIFO に到着したら新しいスレッドを実行し、スレッドからメッセージを出力することができました。
問題は、クライアントがパイプに何かを書き込むとすぐに、サーバーがメッセージを際限なく出力することです (パイプから a を読み取っていますwhile(1)
)。
私の質問は、read
操作でパイプからメッセージを削除して、再度読み取られないようにするべきではありませんか? それが先入れ先出しのポイントではないでしょうか。それは私が手動でしなければならないことですか?
それが役立つ場合は、ここにも私のコードがあります: http://pastebin.com/Ag7vgrav
FIFOに書き込むために私がすることはただ:echo test > /home/ubuntu/work/my_fifo