草庐IT

ipc通信

全部标签

c# - 同一个应用中c++和c#之间的异步通信

有什么方法可以在同一进程中与来自C++的C#代码进行异步通信?我的意思是我必须在同一个基于WindowsCE的应用程序中混合托管C#和非托管C++(使用pInvoke)。C#部分是应用程序的核心。代码的c++部分有一个监听事件的线程,当事件被拦截时,我希望有一种方式与c#部分进行通信,告知事件已触发。目前我认为事件是c++和c#之间通信的方式,但这可能吗?有没有办法异步进行这种通信?谢谢, 最佳答案 C#和C++之间的异步通信与C#应用程序的两个部分之间的异步通信没有什么不同-你只是在最后调用不同的函数-也就是说,C#的delega

java - 使用 Java 在服务器应用程序和 Matlab 客户端之间进行套接字通信

我有一个编写的C++服务器应用程序,我希望能够从Matlab对其进行控制。到目前为止,我已经使用mex函数进行套接字通信,但我想放弃mex函数并直接在m文件中使用内联Java。这将是一个更精简的解决方案。我的基于C++的独立应用程序需要一条消息,其中包含按以下顺序排列的以下数据。..协议(protocol)的这一部分是固定的,不能更改:uint32magic_number-这是一个必须位于消息的开头或消息的其余部分将被忽略。uint32num_bytes-这是用于消息block其余部分的字节数(不包括这最初的8个字节)这部分协议(protocol)是我设计的,可以更改:接下来是一个由4

WEBRTC-不同网络之间的通信

我正在研究一个项目,以在Android应用程序和网页之间创建WEBRTC通信(基于Angular2)。我创建了两个应用程序,当2个设备在同一网络中时,通信正常工作。我的问题是两个网络。为此,我使用转弯服务器。在我的Angular应用程序中,我添加了这样的rtcconfiguration:conf:RTCConfiguration={'iceServers':[{'urls':'stun:numb.viagenie.ca'}]};...this.pc=newRTCPeerConnection(this.conf);在我的Android应用程序中,我使用此信息:iceServers.add(new

【lesson62】网络通信UdpSocket版

文章目录UdpSocketUdpServer.hppUdpServer类成员变量解释成员函数解释UdpServer的实现ServerIinit的实现socketbindhtonsinet_addr具体实现ServerStart的实现recvfromsendtontohsinet_ntoa具体实现~UdpServer函数实现UdpServer.hpp整体完整代码UdpServer.ccUdpClient.ccThread.hppUdpClient.cc实现Common.hLog.hppUdpSocket我们要用udp协议来实现网络通信。我们要用udp协议实现两样:UdpServer(服务器)Ud

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

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

python - 如何在 Python 发布者和 C++ 订阅者之间实现简单的 ZeroMQ Pub-Sub 通信?

我是ZMQ的新手,正在尝试在Python发布者和C++订阅者之间实现简单的Pub-Sub通信。按照官方文档,我想出了这些代码:Python发布者importzmqimportdatetimecontext=zmq.Context()socket=context.socket(zmq.PUB)socket.bind("tcp://127.0.0.1:5555")whileTrue:now=datetime.datetime.now()nowInMicroseconds=str(now.microsecond)socket.send_string(nowInMicroseconds)pri

STM32 SPI通信协议1——协议基本原理及管脚定义

 SPI介绍           SPI全称为SerialPeripheralinterface,译为串行外围设备接口。SPI主要应用在EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号编码器之间。    SPI是一种高速,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便。STM32也有SPI接口,SPI时钟最大可达18MHz支撑DMA,可以配置为SPI协议或者I2S(音频通信)协议。SPI的内部简明图MISO:M(master)主机,S(slave)从机,I(input),O(output)由此可以看出

C++:我应该使用全局变量还是类成员指针在模块之间进行通信?

在我的项目中,我将多个子系统组织为类。我需要这些类进行通信(以便能够通过指针访问另一个类),并且我希望以尽可能最好的方式实现它。我在这里基本上看到了三种可能的解决方案:如果子系统X需要访问子系统Y,则向类X添加一个成员变量,指向Y的一个实例。创建X时,将指向Y的指针传递给它,并让成员变量m_pSystemY设置。为每个子系统声明一个全局变量CSystemX*g_SystemX。它将在程序启动时填充指向新创建的子系统实例的指针。以后,您可以从任何地方轻松访问它。创建一个复杂的子系统管理器类。所有子系统都存储在一个数组中。您需要调用一个函数才能访问特定的子系统。我的问题:我应该为我的游戏引

c++ - 与 Thrift 或 Protocol Buffers 的双向通信

(对不起我的英语)是否可以构建一个应用程序(实际上是2个)来实现进程之间的双向通信?我知道两个“框架”来传达不同的进程(使用不同的语言)Thrift和Protocolbuffers。我知道thrift在客户端/服务器模式下工作,所以如果我想要双向通信,我需要像客户端和服务器一样同时构建两侧/进程。客户端/服务器客户端/服务器我不知道这种做法是否正确。但是..我无法使用ProtocolBuffers找到关于此的信息。这可能吗?我有一个C++进程和一个Node.js(Javascript)应用程序..C++进程向deNode.js应用程序发送通知(效果很好,我使用thrift进行测试)..

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

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