基于他们的实际工作,本文简要介绍了如何在电子中相互通信如何通过IPC命名管道(该技术称为UNIX系统中的域名单词)和其他应用程序。它是基于网络实现的Node.js的模块通过阅读本文,您可以学习如何创建和使用IPC命名管道通过Net.js Net模块进行通信。
处理间通信(IPC,过程间通信)是指某些技术或方法,这些技术或方法至少在两个过程或线程之间传输数据或信号。主要IPC通信方法如图1:1:1:
由于每个过程都有自己的独立地址空间,因此实现IPC的目的是共享流程之间的资源共享访问。在上面的主要IPC通信方法中,系统中系统之间最常见的通信方式是IPC命名。PiPeline(该技术称为UNIX下的插座),但是电子不提供API(通过IPC电子本身,但它只能处理电子自己的过程通信)。我们需要使用node.js服务网络模块来实现。
NET模块提供了用于创建当前IPC服务器的异步网络API。它对IPC的支持使用了在Windows系统上命名管道的方法。在其他操作系统上,管道可区分客户端和服务器。该服务器主要用于监视和接收数据。客户端主要用于连接和发送数据。两者都可以实现长时间的两道沟通。
为了使每个人都更加方便地了解,假设现在有一个大型混合动力应用程序。应用程序A是本机应用程序。应用B是电子应用。在应用程序B操作过程中,您需要与应用程序一起连续发送消息交换数据。
在互动过程中,A需要为连接和发送数据提供命名管道服务,即A是命名管道的服务器,而B是命名管道的客户端。
两者的相互作用步骤如下图2所示:
注意:在上图中,应用程序A的IPC服务具有示例连接最大数量的限制。应用程序B的每个连接都是应用A的新实例(客户端)。您需要注意控制应用B连接。应用程序的实例数A可以在必要时释放应用程序B的连接。
应用程序创建管道服务代码如下:
在上面的代码中,我们通过Net.Createserver创建了一个服务对象服务器,但是此时创建的服务可以是TCP或IPC服务。仅当您使用server.listen启动和监视名称管道地址,此服务地址,此服务地址,此服务地址,此服务地址,此服务地址,此服务地址,此服务地址,此服务地址,此服务地址,此服务地址,此服务地址,此服务地址,此服务地址,此服务地址,此服务地址,此服务地址,此服务地址,此服务地址,此服务地址,此服务地址,此服务地址,此服务地址,此服务地址,此服务地址,此服务地址,此服务地址。
当客户端连接此命名管道时,它将触发Net.Createserver的回调函数。此回调函数具有ConnectionListener对象。我们可以通过此对象接收或发送数据。
当客户端发送段落时,它将触发ConnectionListener的“数据”事件。
当客户端连接时,它将触发连接列列器的“结束”事件。
服务器可以通过ConnectionListener的写入方法将数据发送给客户端。
关闭程序后,我们需要手动关闭命名管道服务。关闭服务时,将触发服务器对象的关闭事件。对于除Windows以外的操作系统,我们需要积极删除域套接字文件。如下图3所示,将在开始时报告其他错误:
由于特定原因,您可以参考此链接:http://nodejs.cn/api/net.html#idifying-paths-por- ipc-connections
在这一点上,我们已经模拟了应用程序A打开并创建命名管道服务。因此,如何连接到名称管道服务并将数据发送给它。我们需要在应用程序B中创建一个命名管客户端。代码如下:
在上面的代码中,我们使用Net.connect API连接到现有的IPC服务。它将返回我们一个实例对象。我们可以通过写入方法将数据写入管道; data.run终端中的上述两个文件代码。
以上是网络模块在电子中实现IPC命名管和其他应用程序通信的核心代码。
除了通过命名管道通过这种通信方法,您还可以通过其他常见的IPC通信方法以及其他过程以及应用程序通信实现相同的效果。
直接在浏览器地址栏中打开路径。:// https://www.shouxicto.com/article//pipe//,您可以看到当前系统下的所有命名管,如图5:所示:
NET创建的IPC服务通常在TMP目录中指定。我们可以直接打开浏览器地址栏中的路径,我们可以看到当前系统下创建的IPC服务,如图6所示。6show:6show: