2013-02-10 65 views
0

我想知道是否有可能連接兩個管道或套接字。讓我們假設有兩個管道/套接字。第一個具有兩個文件描述符A和B,第二個具有兩個文件描述符C和D.是否可以將B連接到C以便能夠寫入A並從D讀取數據?其他則只需閱讀表格B並在用戶空間中寫入C?是否可以連接兩個管道/插座?

謝謝。

回答

1

如果您只是想從一個套接字讀取數據並寫入另一個套接字而不將數據複製到用戶空間,請查看http://linux.die.net/man/2/sendfile。你需要一個相當新的Linux。

+0

其實,我使用FreeBSD,但它的實現。我會讀到這個。謝謝。 – 2013-02-10 03:32:41

+1

是的,它允許將數據從一個文件描述符發送到另一個文件描述符,而不需要將數據複製到用戶空間。但是,它不會永久連接兩個管道/插座。因此,我想我會發送B文件描述符到另一個進程而不是通過C-D管道傳遞數據。非常感謝。 – 2013-02-10 15:25:02

+1

然後它是拼接http://linux.die.net/man/2/splice你想要的,而不是sendfile。但是我不知道它是否存在於FreeBSD上 – Scout 2013-05-23 15:59:43