Bash
如何使用nc每秒連續發送消息
我正在學習 Apache Flink。這是 Flink 的 Hello World:https ://ci.apache.org/projects/flink/flink-docs-stable/getting-started/tutorials/local_setup.html
這個例子是一個程序,它每 5 秒計算一次單詞。
如果我們想執行這個範例,我們需要執行以下步驟:
nc -l 9000
在一個終端(A)上執行;./bin/flink run examples/streaming/SocketWindowWordCount.jar --port 9000
在另一個終端(B)上執行;- 轉到終端 A 並鍵入一些單詞。
如果我們
Ctrl-c
在終端 A 上,這個樣本將被終止。我想知道是否可以在終端 A 以程式方式鍵入單詞。例如,我想
lol
在終端 A 每秒鍵入單詞,我該怎麼辦?下面的程式碼將不起作用。
#!/bin/bash while true; do echo 'lol' | nc -l 9000 sleep 1 done
當然,我可能會嘗試修改,
SocketWindowWordCount.java
但現在,由於某種原因,我無法更改 java 程式碼。
將整個循環導入
nc
:while true; do echo 'lol' sleep 1 done | nc -l 9000
這將啟動 的單個實例
nc
,偵聽埠 9000 上的連接,並每秒向其發送一次“lol”。請注意,“lol”會累積直到連接打開,因此您可能會看到許多“lol”在連接時立即發送。您可以在開始時添加延遲:
(sleep 5 while true; do echo 'lol' sleep 1 done) | nc -l 9000