在 Java 和 C++ 之间使用 Socket for IPC 的利弊是什么?
what is pros and cons of using Socket for IPC between java and c++?
我最近被迫找到一种最适合Java和C ++之间通信的IPC协议。
我搜索了SO以找到最佳协议,我发现套接字是SO中最好的方法。但是我找不到关于插座的优缺点的任何东西!所以我想知道这个协议的优点,也想知道其他协议与套接字的优点,以便为我的应用程序选择最佳协议。
我的两个应用程序很可能在同一台计算机上运行。
更新我应该首先选择我的协议,然后我可以决定在哪个系统配置上运行它。
最好的 IPC 方法实际上取决于您拥有的通信类型:消息传递、确保相互排他性执行、共享数据是各种 IPC,但套接字并不是所有 3 种的解决方案。
考虑或提供您希望在应用程序之间传递的信息形式的信息。也许你发现了一个典型的场景(比如生产者-消费者问题)。
如果你有一个消息传递问题,原则上与老式的TCP服务相当,套接字是一个好主意,因为它们经过充分测试并且易于调试;它们提供完全解耦,但与管道相比,本地运行没有缺点,因为内核可以有效地阻止一个应用程序(发送方或接收方)。
套接字可以是UDP,TCP或Unix套接字。在任何情况下,您都不需要网卡用于带套接字的本地IPC。
相关文章:
- 为不同配置设置MSVC_RUNTIME_LIBRARY的正确方法是什么
- C++避免重复声明的语法是什么
- 在C++中,将大的无符号浮点数四舍五入为整数的最佳方法是什么
- 实现无开销push_back的最佳方法是什么
- C++从另一个类访问公共静态向量的正确方法是什么
- "throw expression code" 1e7 >返回 d 是什么?投掷标准::overflow_error( "too big" ) : d;意味 着?
- C++中名称篡改的目的是什么
- 在 c++ 中拥有一组结构的正确方法是什么?
- 这个指针和内存代码打印是什么?我不知道是打印垃圾还是如何打印我需要的值
- 是什么阻止DOMTimerCoordinator::NextID进入无休止的循环
- 派生类销毁的最佳实践是什么
- 这个语法std::class<>{}(arg1, arg2) 在C++中是什么意思?
- 通过JNI传递数据数组的最快方法是什么
- "using namespace std;"在C++的作用是什么?
- 在两台机器之间进行时间戳的最佳c++chrono函数是什么
- 第一个进程保持运行而后续进程仅传递参数的最佳 IPC 方法是什么?
- 通过IPC连接Qt4和Qt5进程的最佳方法是什么?
- 在 Java 和 C++ 之间使用 Socket for IPC 的利弊是什么?
- 在同一台机器上运行的Java和C++应用程序之间,IPC的最佳方法是什么
- Java和C++之间IPC的最佳方法是什么