我有一種情況,我通過 UDP 在預定義的埠(比如 20001)上接收資料。
我的目標是讓多個客戶端可以訪問相同的資料,這些客戶端將通過 TCP 連接到我,再次在預定義的埠(比如 30001)上。
這似乎是一件很容易完成的事情——但這并不完全在我的專業范圍內。所以我做了一些閱讀,并使用 netcat 非常接近:
nc -l -p 30001 --keep-open --sh-exec "nc -u -l 20001"
不幸的是,這會導致每個后續 TCP 連接產生一個新的 --sh-exec 命令實體,并且只有第一個實際“聽到”傳入的 UDP 資料 - 所以它具有第一個 TCP 客戶端連接的效果'wins',并且任何后續連接都沒有收到任何資訊,同時堆積了一堆無用的行程。
我還認為將資料匯入其中可能會起作用:
nc -l -p 30001 --keep-open | nc -u -l 20001
但很可惜,它沒有。
感覺好像我可能用錯誤的工具來解決這個問題,但我不確定有什么更好/更合適的工具來完成這項作業。
我歡迎你的想法!
uj5u.com熱心網友回復:
如果它不是雙向流量,您可以使用以下內容:
nc -l -u -p 20001 | ncat -k -l -p 30001
從這篇文章中學習:如何使用 nc 偵聽多個 tcp 連接不可能連接多個 TCP 流,nc因此他們建議使用ncat.
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/468158.html
