2
我有兩個文件描述符創建與socket()
和都連接到單獨的主機。我希望在第一個套接字上收到的任何東西立即在第二個套接字上發送,反之亦然。自動轉發一個套接字到另一個
我知道可以與select()
,send()
和recv()
組合手動做到這一點,但有一個更直接的方式從一個輸出告訴內核只是管到其他?
我有兩個文件描述符創建與socket()
和都連接到單獨的主機。我希望在第一個套接字上收到的任何東西立即在第二個套接字上發送,反之亦然。自動轉發一個套接字到另一個
我知道可以與select()
,send()
和recv()
組合手動做到這一點,但有一個更直接的方式從一個輸出告訴內核只是管到其他?
不可以。您可以使用像netcat
這樣的工具爲您做這件事(因此您不必編寫代碼),但即使netcat
包含一個可複製數據的循環。
你可以使用iptables規則來做到這一點。這將在內核空間中執行。我的iptables很生鏽,所以我無法填寫詳細信息。 – sashang
在最近的幾行中,有'splice()',這幾乎就是你正在尋找的東西。 – ipmcc