10得票5回答
Java TCP/IP Socket延迟 - 卡在50微秒(用于Java IPC)?

我们一直在对应用程序进行分析和性能优化,以尽可能减少延迟。我们的应用程序由3个独立的Java进程组成,所有进程都运行在同一台服务器上,并通过TCP/IP套接字互相传递消息。 我们已经将第一个组件的处理时间缩短到25微秒,但是我们发现写入下一个组件(位于本地主机)的TCP/IP套接字通信时间不...

7得票5回答
共享内存和进程间通信

我正在阅读有关共享内存的教程,并发现以下声明:“如果进程希望通知另一个进程已将新数据插入共享内存,则必须使用信号、消息队列、管道、套接字或其他类型的IPC。”。那么,相对于使用不需要任何其他IPC类型的IPC(例如消息队列和套接字),使用共享内存和其他类型的IPC进行仅通知的主要优点是什么?

10得票1回答
使用Unix域套接字的IPC是否安全?

我计划在同一台主机上运行的两个进程之间使用Unix域套接字进行IPC(进程间通信)。但在选择Unix套接字之前,我还需要考虑数据安全性。 我只是想知道,在不加密我发送到该连接上的数据的情况下,是否存在“中间人”攻击的可能性?

18得票4回答
共享内存或mmap - Linux C/C++进程间通信

这个上下文涉及到进程间通信,其中一个进程(“服务器”)需要向运行在同一台机器上的多个监听进程(“客户端”)发送固定大小的结构体。 我非常熟练地使用Socket编程进行这项工作。为了使服务器和客户端之间的通信更快,减少复制的数量,我想尝试使用共享内存(shm)或mmaps。 操作系统是RHE...

13得票1回答
在Linux上更改命名管道的大小是否可行?

我知道当前版本的Linux内核中,命名管道的大小为64K。是否可以增加这个大小? 我知道我可以切换到套接字(sockets),但首先我想看看是否可以通过增加命名管道的大小来解决间歇性的缓冲区溢出问题。

8得票1回答
C#双向IPC通过标准输入输出流实现

我该如何连接两个C#进程,使它们能够通过标准输入和标准输出进行通信? 就像这样: 进程A --> 标准输出A --> 标准输入B ---> 进程B 进程A <-- 标准输入A <-- 标准输出B <--- 进程B

8得票9回答
在C++(MFC)应用程序和C#之间传递数据

我们有一个即将结束生命周期的 C++ 单体 MFC GUI 应用程序。我们计划在 C# 中构建新功能,并在两个应用程序之间传递数据。 问题是:C++ 和 C# 之间传递数据的最佳方法是什么? 注意事项: 两端都将有一个 GUI 前端,可能只需要传递像 Id 这样的简单数据,可能需要一种机制...

7得票6回答
能否在不同进程间使用函数指针?

我知道每个进程都会创建自己的内存地址空间,但是我想知道, 如果进程A有如下函数: int DoStuff() { return 1; } "以及一个指针 typedef,例如:" typedef int(DoStuff_f*)(); 一个类似这样的getter函数: DoStu...

27得票3回答
通过使用mmap()在进程之间共享内存

我正在使用Linux 2.6。我有一个环境,其中有两个进程通过共享内存模拟数据交换,以简单的消息传递模式实现。 我有一个客户端进程(由父进程(即服务器)fork出),它将一个结构体(消息)写入到创建的内存映射区域中(在fork之后): message *m = mmap(NULL, siz...

24得票3回答
共享内存 vs. Go通道通信

Go的口号之一是不要通过共享内存来通信,而是通过通信来共享内存。 我想知道Go是否允许在同一台机器上运行两个不同的Go编译成的二进制文件相互通信(即客户端-服务器),以及与C++中的boost::interprocess相比速度如何?到目前为止,我看到的所有例子都只演示了同一程序中的例程之间...