私はクライアント/サーバーモデルを構築していますが、ソケットを使用し、名前付きパイプを使用し、mkfifo()を使用しています。
クライアントが名前付きパイプに出力を書き込み、次を使用してサーバーの入力を読み取ります。
while ((n = read(fd_in, &newChar, 1)) == 1) { /* ... */ }
<'CR'> <'LF'>の2つの文字に遭遇するまで、一度に1つの文字を読んでいます。しばらくしてからクライアントが<'CR'><'LF'>で終了しない場合は、コードを破棄して別のクライアントに進むことができるようにコードを作成したいと思います。そうしないと、次のクライアントが次のようになります。待つ、多分無限に。
read()の実行を終了する方法はありますか?2秒以内に戻らない場合は、読み取りを中断して、以前に読み取った文字を破棄し、もう一度読み取りを開始してください。
ご協力ありがとうございました、
ジェリー