草庐IT

ipc_RMID

全部标签

c++ - 在 C++ 中是否有符合标准的方法来执行零拷贝 IPC?

我有一个应用程序当前从流(套接字、命名、管道、标准输入等)中读取数据到char缓冲区,然后使用reinterpret_cast指向一个Foo*(其中Foo是POD)进入缓冲区的中间,然后通过该指针处理缓冲区的内容。现在,这违反了严格的别名规则,但我怀疑它在实践中是否真的会引起问题。不过,在标准C++中是否有公认的方法来执行此操作?因为我们可能会以这种方式传输数百千兆字节,并且在任何情况下都不想引入将此数据从缓冲区复制到具有memcpy的结构中的开销。为了清楚起见,代码看起来像这样:MessageData*msg=newMessageData();while(ipc.we_have_da

c++ - Credential Provider 和系统服务之间的 IPC

从系统服务与自定义凭据提供程序通信的最佳方式是什么?是否可以通过消息泵发送消息?我可以使用命名管道吗?如有任何建议,我们将不胜感激。 最佳答案 凭证提供程序在用户的session中运行,而系统服务在系统session中运行。据我所知,这排除了Windows消息。消息还需要创建一个窗口和具有消息泵的进程,而服务通常没有。我建议使用命名管道。系统服务可以创建管道并监听它。凭据提供程序的任何实例都可以附加,然后可以发送消息。 关于c++-CredentialProvider和系统服务之间的IP

华为视频监控接入到视频监控平台 (华为网路监控摄像机IPC和华为视频节点设备VCN)

目         录一、设备介绍1.1华为VCN介绍1.2AS-V1000视频监控平台介绍1.3 平台服务器配置说明二、安装、配置HW_IVS软件2.1下载安装HW_IVS软件2.2登录HW_IVS2.3共享到外域三、配置华为外域参数3.1PCG模块设置3.2通信协议GBT28181配置3.3传输协议配置(TCP或者UDP)四、配置视频监控平台4.1、查看国标设备是否接入4.2通道绑定4.3视频浏览4.4取流方式(TCP/UDP)        华为的视频监控设备的配置比较复杂,配置项目也比较多,因此接入视频监控平台比较麻烦,因此写了这个文章,重点介绍一下。一、设备介绍1.1华为VCN介绍 

c++ - Qt 和 C/C++ 之间的 IPC

我需要在两个进程之间发送/接收数据。其中之一将使用Qt(4或5)。该进程将一直运行(如后台进程)。另一个进程将启动,然后它应该能够发送argv到首先处理并从中接收一些answer。第二个进程必须尽快启动,所以使用QtCore是最后的资源。这意味着我需要它尽可能小和快,所以我需要使用普通的没有任何外部库的C/C++。有什么想法可以做到吗?如果那不可能,我将不得不在第二个过程中使用QtCore。你知道多少慢是因为QtCorevsplainC/C++?(就启动时间而言)。问候编辑:我不能使用QBus,因为它必须与Mac/Linux/Windows兼容。 最佳答案

java - IPC:为每个请求连接还是保持套接字打开?

我计划使用套接字(本地TCP)在两个进程(本地运行)之间进行通信。一个进程将充当服务器,但两个进程异步地相互发送消息。我应该在进程的生命周期内保持套接字连接打开,还是为每个请求重新连接?如果我保持本地套接字打开,是否会出现任何问题? 最佳答案 保持套接字打开。这是一个更简单的选项,您不会因为打开一个新套接字(从客户端的角度)或接受一个新的客户端(从服务器的角度)而产生开销。 关于java-IPC:为每个请求连接还是保持套接字打开?,我们在StackOverflow上找到一个类似的问题:

c# - 什么是 Windows IPC 方法

问题:我有一个可以在另一个程序中加载的dll。现在dll可以访问其他程序中的所有数据/函数。现在我可以使用哪种技术让外部程序可以向该dll发送数据/命令,以控制其他程序或从中获取数据?我的意思是,过去是指DDE,我认为那是在Windows3.11/95时代。我今天可以用什么?哪一个最简单?哪个最快? 最佳答案 一些常见的是:NamedPipes.相当容易实现。SharedMemory.多一点工作,但可能会快一点(至少在我的测试中)。Sockets.这相当简单且非常便携,但性能不高。但是,如果您突然希望能够与在另一台机器上运行的进程进

.net - .NET 和 C++ 应用程序之间的 IPC

是否有任何用于.NET应用程序和nativeC++应用程序之间的进程间通信(IPC)的库? 最佳答案 可以使用Socket进行简单的通信。它在操作系统中,因此您不需要任何新库。详细信息在C++Socket和C#Socket如果进程间通信总是在同一台机器上完成,命名管道是可行的方法,因为它们比其他选项更快。 关于.net-.NET和C++应用程序之间的IPC,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.co

c++ - Perl:IPC::Shareable 和 SWIG'ed C++ 对象不一致

对于我的某个Perl项目,我需要多个Perl进程共享一些位于C++库中的资源。(别问,这不是这个问题的核心,只是上下文。)因此,我试图在这种情况下深入研究两个"new"领域:IPC::Shareable,并使用SWIG包装C++。看来我在那里做错了什么,这就是我想问的问题。在C++方面,我编写了一个小型测试类Rectangle,其中包含一个空构造函数、一个set和一个size成员函数。然后我将该类包装在SWIG生成的Perl包example中。在Perl方面,我尝试了SWIG模块是否按预期工作:useexample;my$testrec=newexample::Rectangle;$t

【Linux】SystemV IPC

进程间通信一、SystemV共享内存1.共享内存原理2.系统调用接口(1)创建共享内存(2)形成key(3)测试接口(4)关联进程(5)取消关联(6)释放共享内存(7)测试通信3.共享内存的特性二、SystemV消息队列(了解)1.SystemV消息队列原理2.系统调用接口(1)创建消息队列(2)形成key(3)发送/接收数据(4)释放消息队列三、IPC在内核中的数据结构设计四、SystemV信号量1.引入概念2.理解信号量3.了解系统调用接口(1)申请信号量(2)释放信号量(3)操作信号量一、SystemV共享内存1.共享内存原理那么我们知道,进程间通信的本质就是先让不同的进程看到同一份资源

HarmonyOS4.0——IPC与RPC通信

基本概念IPC(Inter-ProcessCommunication)与RPC(RemoteProcedureCall)用于实现跨进程通信,不同的是前者使用Binder驱动,用于设备内的跨进程通信,后者使用软总线驱动,用于跨设备跨进程通信。需要跨进程通信的原因是因为每个进程都有自己独立的资源和内存空间,其他进程不能随意访问不同进程的内存和资源,IPC/RPC便是为了突破这一点。IPC和RPC通常采用客户端-服务器(Client-Server)模型,在使用时,请求服务的(Client)一端进程可获取提供服务(Server)一端所在进程的代理(Proxy),并通过此代理读写数据来实现进程间的数据通