
我需要在終端機中運行命令以連續接收來自網路其他地方的傳入訊息。我無法控制訊息長度的製定。但是,該命令一次能夠接收並列印一條完整訊息(而且我也無法控制該命令)。
我的任務是將這個訊息流轉送到本機連接埠。偵聽該連接埠的應用程式將進一步處理訊息。問題是:我必須在應用程式中設定接收緩衝區(例如 1024 位元組),並且遵循 TCP 協定(正如大量討論的那樣)這裡),訊息只是通過而不是原來的chunk
。且訊息的長度可能不是恆定的(如下我的範例)
我想在命令發出的消息的開頭和結尾附加一個特殊字符,以便在另一側處理它們。這是一個更具體的例如:
在終端機上,我運行這個命令;
mycommand | tee | netcat localhost 2003
此命令接收原始區塊中的消息並將其轉發到連接埠 2003:
action_1_timestamp_2021_6_09_10_34_23_abort
action_2_timestamp_2021_6_09_10_34_34_success
...
action_193848_timestamp_2021_6_23_10_34_23_hold
我怎麼能像這樣包裝上面的每一行:
<action_1_timestamp_2021_6_09_10_34_23_abort>
在轉發之前netcat localhost 2003
。我對 bash 腳本不是很熟悉。