草庐IT

异步通信

全部标签

java - 如何让 2 个 Java 应用程序相互通信?

我有2个Java应用程序。首先,我可以随意编辑,但稍后我会将其编译为机器代码。第二个我无法编辑,但我可以为它写一个插件。我需要让该插件能够与第一个应用程序对话。一般只是简单地互相发送字符串。进程的输入和输出流不是我的选择。我正在考虑使用tcp套接字客户端/服务器或将充当缓冲区的文件。但是这两种方式对我来说都有点难看,谁能给我一个更好的主意? 最佳答案 这取决于您要传输的数据类型。如果只是String,那么:如果numberofprocess=2并且您对此有把握,那么stdin&8stdout是最好的前进方式。您可以使用Process

c++ - 如何使用win32编写socket通信程序

想学习win32套接字编程的新人。我了解一点MFC,但这不是开始的好点,因为它只是隐藏了程序员的内部细节。 最佳答案 使用winsock函数(Winsock2.h)。 关于c++-如何使用win32编写socket通信程序,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/558028/

c++ - 管道通信 C++

我正在编写两个必须通信的小型C++应用程序。第一个将是一项服务,每隔一段时间,必须提醒用户注意某事。由于服务无法创建窗口,因此我将应用程序设计为两个独立的可执行文件。该服务将使用通知程序进行通信。该服务只需要向通知程序发送文本消息,通知程序会在系统托盘中显示一个气球。我正在尝试使用命名管道,我想我已经差不多了,但还不够。到目前为止我所拥有的是:在通知方:m_hInPipe=CreateNamedPipe(L"\\\\.\\pipe\\nhsupspipe",PIPE_ACCESS_INBOUND,PIPE_WAIT,1,1024,1024,60,NULL);意思是我创建了一个名为nhs

S7-1200和1500PLC与条码枪建立TCP_IP通信的具体方法示例

S7-1200和1500PLC与条码枪建立TCP_IP通信的具体方法示例今天和大家分享西门子S7-1200和1500PLC如何获取条码枪的扫描数据,这种案例中一般PLC作为TCP/IP的客户端(只接收数据,不发送数据),条码枪作为TCP/IP的服务器。如下图所示,在指令—通信—开放式用户通信中可以找到相关的通信指令,这里可以看到有TRCV_C和TRCV两个接收指令,这两者的区别是TRCV_C是建立连接并接收数据集成在一起的,而TRCV是没有建立连接,只负责接收数据的。我们这里使用TRCV_C来举例说明:如下图所示,我们拖拽TRCV_C指令到OB1中,此时系统会自动生成一个背景DB块,点击确定即

c# - 使用 ServiceController 类与 Windows 服务通信

我有一个由两个服务组成的Windows服务项目,service1和service2。我们如何在这两个服务之间进行通信?例如,我们如何让service1启动service2?我可以使用ServiceController类来执行此操作吗?您对此有何建议? 最佳答案 ServiceController类包含一个采用int的ExecuteCommand方法。因此,如果您可以使用非常有限的参数,您的两个服务可以通过相互发送ExecuteCommand消息来进行通信。但是,正如其他张贴者评论的那样,WCF可能是更好的答案。您可以创建命名管道或在

windows - 我可以使用什么来代替 Unix 管道在 Windows 上进行进程间通信?

我有一个启动子进程的应用程序。子进程从标准输入读取要操作的文件。对于某些操作,它需要一个输入文件,其中包含有关如何处理它所操作的文件的信息——我们称之为“控制文件”。控制文件的名称也从标准输入中读取。父应用程序可以使用临时文件作为控制文件,但我更愿意避免使用真正的磁盘备份文件。在Linux上,这很简单:我可以创建一个Unix管道,fork,在启动子进程之前关闭管道的各个端点,然后使用/dev/fd/3(或任何文件描述符)作为控制文件名,然后将控制数据写入父应用程序中的管道。或者,我可以在/tmp(或其他任何内容)中使用命名管道。我怎样才能在Windows上实现类似的功能?Windows

c# - Windows 和/或用户控件之间通信的模式/方法

我目前正在开发一个应用程序,我将使用C#和WPF打开多个窗口。是否有一种模式或通用方法可用于帮助促进打开的Windows或/和UserControl之间的通信?例如,一个窗口,我们称它为“层次结构窗口”,可能会显示世界上国家、省份和城市的层次结构。除此之外,还有几个其他窗口可以显示省或市,例如OR允许您创建省或市。在创建新城市的情况下,我的“城市窗口”与我的“层次结构窗口”就添加城市或删除城市进行沟通的最佳方式是什么?请记住,创建城市时甚至可能不会打开“层次结构窗口”。此时,无需响应/操作。 最佳答案 有两种常见的方法:使用依赖注入

c++ boost asio 异步函数不能在 dll 中工作

我有这个基于教程的简单的boostasio代码,它在从exe中调用时工作正常,但在使用LoadLibrary从dll中运行时崩溃。它在提升代码而不是我的代码中崩溃。90%的时间它会在其线程互斥函数内部崩溃。与exe相比,在dll中执行代码时是否有任何限制?这是我的代码:Connection::Connection(boost::asio::io_service&ioservice):m_Socket(ioservice),m_Resolver(ioservice){}voidConnection::ConnectTo(){boost::asio::ip::tcp::resolver::

Python:从多个子进程异步打印标准输出

我正在测试一种从Python2.7中的多个子进程打印出标准输出的方法。我设置的是一个主进程,目前生成三个子进程并吐出它们的输出。每个子进程都是一个for循环,它会随机休眠一段时间,当它醒来时,会说“SleptforXseconds”。我看到的问题是打印输出似乎是同步的。假设子进程A休眠1秒,子进程B休眠3秒,子进程C休眠10秒。主进程在尝试查看子进程C是否有内容时停止了整整10秒,即使其他两个进程可能已经休眠并打印了一些内容。这是为了模拟一个子进程是否真的比其他两个进程在更长的时间内没有输出。我需要一个适用于Windows的解决方案。我的代码如下:主进程.pyimportsysimpo

c# - 客户端和服务器无法通信,因为它们不具备通用算法,C# SslStream

以下是我在Windows10上为客户端/服务器控制台应用程序进行相互SSL身份验证的设置:有一个服务器监听器控制台应用程序只接受TLS1.0连接。客户端控制台应用程序使用SslStream.AuthenticateAsClient配置安全连接并使用TLS1.2连接。我使用以下示例进行相互SSL身份验证:http://www.codeproject.com/Articles/326574/An-Introduction-to-Mutual-SSL-Authentication服务器代码:sslStream.AuthenticateAsServer(certificate,true,Ssl