2012-04-08 56 views
2

我最近不得不尋找一種最適合java和C++之間通信的IPC協議。在java和C++之間使用Socket for IPC的優缺點是什麼?

我搜索了SO尋找最佳協議,我發現套接字是最好的方法,在SO中。但是我找不到任何關於它的缺點或優點的東西!所以我想知道這個協議的優點,也想知道其他協議vs套接字的優點,爲我的應用選擇最好的協議。

這很可能是我的兩個應用程序在同一臺機器上運行。

更新我應該先選擇我的協議,然後我可以決定在哪個系統配置上運行它。

+0

你考慮過哪些其他選項? – dasblinkenlight 2012-04-08 15:00:44

+0

可能是消息或甚至使用文件! – Lrrr 2012-04-08 15:01:14

+2

我希望你的意思是「消息」,而不是「按摩」,對嗎? – dasblinkenlight 2012-04-08 15:02:21

回答

3

最好的IPC方法實際上取決於你有什麼類型的通信:消息傳遞,確保互斥執行,數據共享各種IPC,但插座是不是所有3

想想解決方案,或提供信息,您希望在應用程序之間傳遞哪些信息。也許你會發現一個典型的場景(如生產者 - 消費者問題)。

如果你有一個消息傳遞的問題,原則上可以和oldschool的TCP服務比較,套接字是一個好主意,因爲它們經過良好測試並且易於調試;它們提供完全解耦,但與管道相比,本地運行沒有缺點,因爲內核可以有效地阻止一個應用程序(發送者或接收者)。

套接字可以是UDP,TCP或Unix套接字。在任何情況下,您都不需要帶插座的本地IPC的網卡。

相關問題