netcat 指令在雙向模式下不起作用

netcat 指令在雙向模式下不起作用

我在Linux中使用netcat透過網路從串列埠向另一個裝置發送和接收資料(使用udp協定)。命令是:

nc -u 192.168.10.12 < /dev/ttyUSB0 > /dev/ttyUSB0 

我使用的 USB 是 USB 轉串列 485 轉換器,我注意到接收器指示燈完全不會閃爍,而傳輸指示燈則閃爍。

我使用 tcpdump 檢查了訊息是否透過網路發送和接收,我可以清楚地看到它正在我的機器和設備機器之間傳輸資料!我現在認為這可能是 netcat 問題,有什麼想法嗎?

答案1

只是把這個扔在那裡..

但 control-d 可以發出檔案結束訊號,也許您的輸入流包含此字元。這將關閉該輸入流,而另一個輸入流可能會繼續工作。

雖然我不知道您的具體情況發生了什麼,但我知道您可以透過命令列上的 nc 進行測試:

#create a server
nc -v -v -l -p 9000      #yes, I was testing xdebug...


-------- in a different terminal:

#create a client
nc localhost 9000

在兩者中輸入一些內容。按下 Ctrl-D 一次。現在,您在該終端機中輸入的內容將不會顯示,但您在另一個終端機中輸入的內容仍會顯示。

讓我大吃一驚。我認為它有某種緩衝區問題或是半雙工的。在找到答案之前先找到你的問題。

哦,為了確保它不會出現這種情況:

stty eof undef

相關內容