草庐IT

管道化

全部标签

c++ - 命名管道,如何知道读取端要读取的确切字节数。 C++, Windows

我正在使用配置为将数据作为单字节流发送的命名管道在两个应用程序之间发送序列化数据结构。序列化数据的大小变化非常显着。在发送端,这不是问题,我可以调整要发送的字节数。如何将接收(读取)端的缓冲区设置为要读取的确切字节数?有没有办法知道发送(写入)端的数据有多大?我看过PeekNamedPipe,但该函数似乎对字节类型的命名管道毫无用处?lpBytesLeftThisMessage[out,optional]Apointertoavariablethatreceivesthenumberofbytesremaininginthismessage.Thisparameterwillbezer

c++ - 通过 Gnuplot 的管道接口(interface)从 C/C++ 可视化

我正在尝试使用gnuplot的管道接口(interface)(一个标准的gnuplot_i.{cpp,hpp}),以便生成在另一个用C++编写的程序中不断变化的值的实时显示。这工作正常,但我想看看是否有人有任何改进建议。此实现包含一个方便的方法,可以将单个vector和2个vector绘制为二维图。它通过调用mktemp函数的标准库写入一个临时文件,然后将其用作gnuplotplot调用的输入来实现这一点。这会生成太多的临时文件,并且当图上的更新率很高时(也许IO在某一点上受到限制)似乎无法正常工作。我决定在绘图调用中使用“-”伪文件,并将vector直接发送到管道(以一行带有“e”的

【linux】进程间通信——管道

进程间通信——管道1.什么是通信2.为什么要通信3.如何实现通信4.匿名管道5.进程池5.1进程池完整代码6.命名管道自我名言:只有努力,才能追逐梦想,只有努力,才不会欺骗自己。喜欢的点赞,收藏,关注一下把!1.什么是通信数据传输:一个进程需要将它的数据发送给另一个进程资源共享:多个进程之间共享同样的资源。通知事件:一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某种事件(如进程终止时要通知父进程)。进程控制:有些进程希望完全控制另一个进程的执行(如Debug进程),此时控制进程希望能够拦截另一个进程的所有陷入和异常,并能够及时知道它的状态改变。2.为什么要通信我们需要多进程协同完

在Heroku管道页面上没有看到拉的请求

我是我们的Heroku帐户的管理员,可以在HerokuPipeelines页面上看到评论应用程序,但是我看不到具有创建评论应用程序选项的打开拉请请求。我是该帐户的管理员,所以我不确定它是什么。有任何想法吗?谢谢!看答案找到了。即使它已经可以访问了我参与的公司帐户,我也必须让Heroku访问我的GitHub帐户。

c++ - 为什么读写管道时需要关闭fds?

这是一个example为了说明我的意思:#include#include#includeintmain(void){intfd[2],nbytes;pid_tchildpid;charstring[]="Hello,world!\n";charreadbuffer[80];pipe(fd);if((childpid=fork())==-1){perror("fork");exit(1);}if(childpid==0){/*Childprocessclosesupinputsideofpipe*/close(fd[0]);/*Send"string"throughtheoutputsi

【探索Linux】—— 强大的命令行工具 P.14(进程间通信 | 匿名管道 | |进程池 | pipe() 函数 | mkfifo() 函数)

阅读导航引言一、进程间通信概念二、进程间通信目的三、进程间通信分类四、管道1.什么是管道2.匿名管道(1)创建和关闭⭕pipe()函数⭕创建匿名管道⭕关闭匿名管道(2)通信方式(3)用法示例(4)匿名管道的特点3.运用匿名管道建立进程池4.命名管道(1)创建和关闭⭕mkfifo()函数⭕创建命名管道⭕关闭命名管道(2)通信方式(3)用法示例(4)命名管道的特点5.匿名管道与命名管道的区别1.匿名管道:2.命名管道:温馨提示引言当今计算机系统中,进程间通信扮演着至关重要的角色。随着计算机系统的发展和复杂性的增加,多个进程之间的协作变得更加必要和常见。进程间通信使得不同进程能够共享资源、协调工作、

c++ - 实现管道和过滤器模式的最优雅方式

我想创建一个基于管道和过滤器的数据处理程序,它应该像这样处理传入的数据集,但不一定限于:源管道(可以是来自数据库的数据集)过滤器(添加一个额外的字段)过滤器(操作更多数据/删除即使数据集无效)我知道这种架构在C/C++中会是什么样子。但是鉴于C++11的功能方面带来的所有好处,我希望这项任务能够以一种优雅的方式完成,以便它能够:在多线程环境中轻松扩展和使用它(例如,通过将过滤任务作为lambda函数执行,从而可能至少避免一些线程处理)在运行时轻松添加和删除过滤器延迟处理输入流 最佳答案 即将发布的C++14标准中有一个草案涵盖了这个

c++ - Qt中的多线程数据处理管道

在Qt中解决以下问题的好方法是什么:我有一个传感器类,它不断地产生数据。对这些数据,需要进行一系列的操作,可能需要很长时间。为此,我有一些额外的类(class)。基本上,每次记录一个新的数据项时,第一个类应该获取数据、处理它、将它传递给下一个等等。传感器-->第1类-->...-->最后一类我想将管道的各个类放入它们自己的线程中,这样当类2正在处理样本n时,类1可能已经在处理样本n+1...此外,由于各个步骤的性能可能有很大差异(例如,传感器比其他步骤快得多),而且我对过时的数据不感兴趣,我希望第1类(及其之后的所有内容)始终获得来自其前身的最新数据,丢弃旧数据。因此,管道步骤之间没有

c# - 在 Windows 中使用命名管道 (C++/C#)

我有一个C++应用程序需要将图像从网络摄像头实时发送到同一台PC上的C#应用程序。无法从C#代码调用C++代码,因此我需要通过命名管道实现通信以发送图像。我以前从未做过任何通信编程,我想知道如何解决这个问题。我的第一个想法是让C++应用程序在单独的线程上创建命名管道服务器,创建后线程将持续等待,直到可以发送图像。届时它将发送图像。同样,C#应用程序将创建一个充当客户端的新线程。它会连接到服务器并不断循环,直到有图像可用。届时它将接收图像并将其存储在主线程可以访问的队列中。这有意义吗?这是最好的方法吗? 最佳答案 我支持在这里使用CO

windows - 在 Windows 中连接到命名管道,不同的用户帐户

在Windows中,在受限用户帐户下运行的程序是否可以连接到由在管理员帐户下运行的程序创建的命名管道或作为Windows服务?或者我会被拒绝访问吗? 最佳答案 这取决于用于创建管道的安全属性。管道创建者必须使用足够宽松的安全属性,让受限用户获得对管道的访问权限。 关于windows-在Windows中连接到命名管道,不同的用户帐户,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1