草庐IT

跨进程通信

全部标签

windows - 通过 IOCP 的串行通信

是否可以将IO完成端口用于串行I/O?根据WindowsviaC/C++的说法,它暗示了这是可能的,并且确实给出了一个使用IOCP与物理文件的示例,显示了与CreateFile、ReadFile、WriteFile等的工作。然而,这实际上可以与串行通信一起工作——有没有人得到有用吗?我在网上找不到任何这方面的例子,但我不能第一个尝试吗? 最佳答案 是的,将I/O完成端口用于串行I/O工作正常。为适合IOCP的串行端口创建文件句柄需要一些设置工作。但是一旦设置完成,您就可以执行异步操作ReadFile()和WriteFile()与常规

windows - 如何加速 Windows XP 应用程序中的 UDP 通信

我正在对软件进行维护,遇到一个我不明白的问题。应用程序是使用MicrosoftVisualC++6开发的,可在WindowsXP上运行。它由21个应用程序组成,这些应用程序通过UDP套接字相互通信。它是一个嵌入式航空电子系统的模拟,用于在PC环境中调试系统。每个应用程序模拟嵌入式系统中的一个节点,嵌入式网络通过UDP进行模拟。该系统最初在多台PC上运行,但现在可以在一台四核机器上运行。系统正在运行,但通信速度慢得令人讨厌。但是,打开InternetExplorer并访问一两个网站会设置一些东西,这会导致我的应用程序之间的通信突然变得非常快。所以我的问题是InternetExplorer

c# - 帮助windows TCP端口通信

我刚开始了解进程间通信的工作原理。我在我的本地机器上使用两个应用程序,一个源应用程序和一个服务器应用程序。源应用程序通过我电脑上配置的端口广播文件。服务器应用程序监听这些文件并将它们公开到互联网供用户流式传输。我想从等式中删除服务器应用程序并编写一个新的应用程序来与源应用程序通信。到目前为止,我的应用程序已连接到端口并正在监听。我能够从端口接收消息。我收到的消息似乎是元数据,没有文件。我的假设是服务器应用程序在获取此元数据信息以获取文件后发送响应。因此我的应用程序需要模仿服务器应用程序。但是我不知道如何响应源应用程序的端口。1)是否有一种工具可以用来监控源应用程序和服务器应用程序之间的

windows - 跨进程共享位图

如何使用win32/mfc在windows中创建一个设备独立位图,它将在机器上运行的所有进程之间共享?寻找在WindowsXP/7机器上的所有进程之间共享DIB的最佳和最快的方法。进程应该能够锁定位图的内容并在该位图上进行绘图,其他进程也可以使用该位图进行读取。例如最初,此DIB将由主应用程序创建。当一些其他进程想要在这个进程上绘制一些东西时,可以锁定这个DIB的内容并在这个位图上绘制。如果某个其他进程想要读取这个位图的内容,可以锁定位图并读取位图。请提出时间复杂度和空间复杂度方面的最佳方法。空间复杂性意味着,一个进程想要在这个位图上绘制内容不需要复制本地内存中的所有内容并绘制,它应该

windows - Windows 智能卡通信建立

当我在收到ATR后将智能卡插入读卡器时,我可以在驱动程序日志中看到许多IOCTL,这些IOCTL不是由我的应用程序发送的(因为未运行)。我的问题是有没有文档,描述在windows下建立智能卡通信? 最佳答案 Windows中有用于与智能卡通信的Win32APISCardXXX形式的平台。Linux的类似实现是在作为PC/SCLiteAPI的肌肉项目。在Windows平台上将使用以下功能:SCardEstablishContextSCardListReaderSCardConnectSCard重新连接SCardDisconnectSC

windows - AS3 中的 LocalConnections 如何通信?

我即将开始在几个SWF中使用LocalConnections让它们相互交谈。但在我开始这条路之前,我需要确保它不会导致系统出现任何弹出窗口和确认对话框。如果我使用本地套接字服务器,这会导致Windows防火墙和许多其他防火墙标记它并要求确认。所以如果LocalConnection使用套接字,那么我就不能使用它。但我通过一些网络搜索了解到它实际上使用共享内存工作,这不会导致任何防火墙提示。任何使用过LocalConnection的人都可以确认或否认它会导致主机操作系统出现问题吗?特别是对于Win7/Vista。 最佳答案 我已经使用L

c# - 您可以在 WCF 服务和托管它的 Windows 服务之间进行通信吗?

我有一个WCF服务,用于配置托管在将用于维护数据库的Windows服务中的内容。有什么方法可以访问托管服务内的WCF服务吗?或者我应该将数据库功能移动到另一个WCF服务并将它们都托管在Windows服务中吗? 最佳答案 服务类(实现服务接口(interface)的类)有一个属性OperationContext.Current.Host它使您可以访问托管您的服务的ServiceHost实例。您可以很容易地访问该服务主机。没有内置方法可以超越服务主机并操纵或查询包含服务主机的NT服务。但是您始终可以创建自己的自定义ServiceHost

c++ - 如何在 Visual Studio 2010 中创建 C++ Windows 服务并与之通信?

我有一个用C++实现的(某种)数据库。现在我想创建一个Windows服务来查询它,因为P调用它不是一个选项,因为每次查询都必须加载数据库,这需要几分钟。但是我面临几个问题:如何在VS2010中创建C++Windows服务?模板已被删除(为什么???),我可以使用2008模板并转换它吗?如果是:我在哪里可以找到这样的模板?假设我设法创建了一个C++Windows服务:我可以通过哪些选项与该服务(来自csharp)进行通信?有什么优点/缺点?我很乐意提供任何提示!本 最佳答案 不知道为什么,模板真的没有了。对于您的应用程序和服务之间的通

linux - Win32 InterlockedIncrement 和 InterlockedExchange 是跨进程的原子吗?

MSDN说互锁函数提供了一种简单的机制来同步访问由多个线程共享的变量。如果变量在进程的共享内存中,我不确定它们是否跨多个进程的线程工作。同样,GNUGCC编译器内部函数又如何:__sync_add_and_fetch和__sync_lock_test_and_set? 最佳答案 这个问题本质上是两个不同答案的两个问题。对于GCC中的__sync_XXX内置函数,答案是肯定的。引用任何在线文档,如this,在描述的地方,这些内置通常会发出完整的屏障,甚至可以防止处理器管道内的内部推测负载。每个和所有多线程、多进程等共享内存对它们都是安

c++ - 跨进程 PostMessage、UIPI 限制和 UIAccess=”true”

出于安全原因,我的应用程序的UI模块以high运行mandatoryintegritylevel.它里面的一切都很好,除了一件事。为了与旧版本兼容,我需要能够让用户向UI模块发出命令行调用。目前这个机制是这样工作的:Windows资源管理器的快捷方式调用我的模块,这样说:path-to-module\module.exe-op="a,s,r"当module.exe进程解析此命令行,然后使用FindWindow定位UI模块的运行拷贝(或自身的另一个拷贝)通过其独特的类名。然后它发送一个registeredmessage使用PostMessageAPI。然后运行的UI模块(具有high完整