2014-03-13 79 views
0

創建命名管道,我發現這個Example在Java

但我想它周圍的其他方法,我想創建一個命名管道與Java和C#(或任何其他)應用程序連接到該管道。這可能嗎?如果是,如何?

感謝 弗洛裏安

+0

如果您閱讀了代碼,您會發現它有點像寫入一個文件(名爲管道小子的文件)。 你將讀取的java交換爲寫入,反之亦然,那就是它。 – Archlight

+0

是的,但如果我在java中創建一個文件,如何使用.net中的NamedPipeClientStream訪問它? – user2071938

+0

爲每個應用程序使用相同的文件名,併爲每個調用打開和關閉文件;你不能使用NamedPipeClientStream而是FileStream類。所有請記住,如果一個應用程序正在寫入,另一個無法打開該文件,反之亦然 – AlexF

回答

0

在Java中的命名管道的創建依賴於操作系統的,你需要用命令調用Runtime.getRuntime()創建EXEC:你不能做到像在.NET中。這裏是一個關於如何在unix http://code.google.com/p/jdds/source/browse/trunk/JDDS/src/rtjdds/rtps/transport/NamedPipe.java?spec=svn7&r=7中執行的例子。

以其他方式,您可以在.net應用程序中創建管道,然後在您提供的示例中交換代碼。

+0

謝謝!事情是這應該在UNIX和Windows上運行,等unix我將不會有任何.net應用程序 – user2071938

+0

你不能使用套接字?是更靈活的。 – AlexF

+0

上面提到的源代碼鏈接(用於通過exec()調用創建Linux管道)現在已經改變:請參閱https://github.com/sioutisc/jdds/blob/master/JDDS/src/rtjdds/rtps/transport改爲/NamedPipe.java。 – VirtualMichael