Netcat
netcat echo server - 可以使用管道而不是命令作為字元串嗎?
我想創建一個回顯伺服器而不在字元串中指定我的任何命令。我希望所有命令都通過管道連接。
這似乎是不可能的,因為在將請求傳遞給響應生成邏輯之前,響應已被返回。看來我可以使用 ncat 但我也希望避免這種情況。
我認為使用先進先出隊列可能是可能的,但我無法讓它工作。
“我正在嘗試做的事情”部分
由於我有限的語言能力,試圖證明這些限制是合理的。但我的最終目標是使用 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
第二個不起作用,因為它無法將輸出返回給客戶端。因此,我將問題減少到使用 netcat 實現回顯伺服器。我不想使用字元串,因為所有這些命令都是動態的,我只是不想處理額外的間接級別(首先,我的文本編輯器將沒有有用的語法突出顯示)。不過,我願意接受此處的文件解決方案。
這就是我想要的:
伺服器:
mkfifo fifo cat fifo | nc -k -l 4458 -v | cat > fifo
客戶:
echo "45" | nc localhost 4458