文字列にコマンドを指定せずにエコサーバーを作成したいと思います。すべてのコマンドがパイプを介して接続されることを望みます。
リクエストがレスポンス生成ロジックに渡される前にレスポンスが返されるため、これは不可能に見えます。 ncatが使えるようですが、これも避けたいです。
FIFOキューを使用することは可能かもしれませんが、それを動作させるのに問題があります。
「私は何をしたいですか?」部分
この限界を正当化する努力は、限られた言語能力のために難しいことでした。しかし、私の究極の目標は、xinetdの便利さを使用して(しかしデーモンなしで)すべてのアプリケーションロジックの基本スクリプトを維持することです。これらの基本スクリプトには、次のように数十行があります。
nc -l 8080 | get_person_name.sh | create_insert_statement.sh | sqlplus
nc -l 8081 | get_person_id.sh | create_select_statement.sh | sqlplus
2番目は、クライアントに出力を返さないため、機能しません。そのため、netcatを使用してエコサーバーを実装する問題を軽減しました。これらのコマンドはすべて動的であり、追加のレベルの間接参照を処理したくないため、文字列を使用したくありません(私のテキストエディタの構文の強調表示は最初ははるかに便利ではありません)。しかし、ここではドキュメントソリューションが開いています。
答え1
これが私が望むものです:
仕える人:
mkfifo fifo
cat fifo | nc -k -l 4458 -v | cat > fifo
顧客:
echo "45" | nc localhost 4458