草庐IT

匿名管道

全部标签

windows - Windows 上两个网络套接字之间的管道数据

给定两个网络套接字,在不以任何方式接触内容的情况下将数据从一个传输到另一个的最有效方法是什么?有没有一种方法(系统调用API)可以在内核空间中管理套接字到套接字的数据管道,类似于spliceprovidesonLinux?这就是我目前在Haskell中使用splice的方式:UsingGNU/Linuxsystemcall`splice`forzero-copySockettoSocketdatatransfersinHaskell. 最佳答案 Windows上的零拷贝API称为TransmitFile。它读取一个文件句柄并写入一个

windows - 如何使用管道(ffmpeg + imagemagick)构建视频缩略图表?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。这个问题似乎与helpcenter中定义的范围内的编程无关。.关闭6年前。Improvethisquestion如何在不使用临时文件的情况下使用管道(ffmpeg+imagemagick)在Windows上构建视频缩略图表?

c# - node js中的Windows命名管道(首选共享内存)

我正在使用命名管道在Windows中的2个进程之间共享一些数据。一个是Node进程,另一个是C#进程。这是我在我的Node进程中使用的代码示例:varnet=require('net');varPIPE_NAME="mypipe";varPIPE_PATH="\\\\.\\pipe\\"+PIPE_NAME;varL=console.log;varserver=net.createServer(function(stream){L('Server:onconnection')stream.on('data',function(c){L('Server:ondata:',c.toStri

c++ - 如果服务器崩溃,命名管道会发生什么情况?

我对管道知之甚少,但在我的VisualC++代码中使用管道连接了两个进程。管道运行良好,但我需要向其添加错误处理,因此想知道如果创建它的服务器崩溃时管道会发生什么情况,以及我如何从客户端进程中识别它?此外,如果客户端进程尝试访问同一个管道,在服务器崩溃后,如果没有错误处理,会发生什么情况?编辑:如果我继续创建新管道(比如使用系统时间作为管道名称),而前一个管道因服务器崩溃而损坏,会对内存产生什么影响?这些破管道会不会从内存中移除? 最佳答案 IIRCReadFile或WriteFile函数将返回FALSE并且GetLastError

c++ - 使用命名管道 (C++) 将图像发送到 FFMPEG

我在C++中有以下代码:#include#include#include//std::cout#include//std::ifstream#include#includeusingnamespacestd;intmain(intargc,constchar**argv){wcoutfile_vec;file_vec.resize(file_size_in_byte);infile.seekg(0,std::ios::beg);infile.read(&file_vec[0],file_size_in_byte);out.write(&file_vec[0],file_vec.size

c - 限制进程对管道的访问 (Windows)

是否可以通过进程限制对命名管道的访问(图像名称或进程ID都可以)?此处的上下文是一个FilterMinidriver,它必须与执行大部分业务逻辑的用户空间服务进行通信。由于此通信是安全敏感的,我想保护它免受外部干扰,而默认情况下,驱动程序创建的命名管道似乎可以通过任何用户空间进程进行通信知道管道的名称(通过静态或动态分析很容易发现)。这是我已经知道的:管道是Windows中的安全对象,因此,它们具有安全描述符。这个安全描述符可以包含一个DACL,它应该限制对该对象的访问。我广泛搜索了条件ACE的文档和示例,我希望它们可以做我想做的事,但我没有找到任何相关内容。编辑:我接受了MSalte

windows - 用于与 Windows 命名管道通信的程序

我对Windows中的命名管道比较陌生。我需要一个类似于linux的socat的Windows工具来通过命名管道进行通信。Cygwin的socat可以访问窗口命名管道吗?如果是,怎么办? 最佳答案 我自己很快就弄明白了。使用putty和serial作为连接类型。在串行线路框中键入完整的管道名称。 关于windows-用于与Windows命名管道通信的程序,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com

c - 如何在Windows下用c创建管道

我试图在我的c程序中创建一个管道,以将数据输入到另一个程序myProgram.exe。我需要做的就是让myProgram运行并从主程序发送“退出”。问题是我不知道如何在c中创建管道。我在某处得到了一个有效的Perl示例:open(myHandle,".../myProgram.exe");//...(dosomethingelse)...printf(myHandle,"quit");close(myHandle);有人可以帮我把它翻译成C代码吗?请记住,我在Windows下运行,因此没有可用的unistd.h。干杯,B 最佳答案

c++ - 如何在 Windows 中访问继承的匿名管道 HANDLE,而不是 stdout、stderr 和 stdin?

我正在尝试通过Windows中的匿名管道从子进程接收数据。我知道如何使用标准I/O流来执行此操作,但这些被用于其他目的。我也知道如何在Linux或OSX中使用fork()、pipe()和execv()执行此操作。在Windows中,您可以使用CreatePipe()创建管道,并使用SetHandleInformation()使一端不可继承。然后,对于stdout和stderr,您可以将STARTUPINFO和hStdOutput或hStdError设置为CreateProcess()以传递另一端给child。在调用CreateProcess()之后,父级最接近它的是子级管道末端的句柄。

c++ - 命名管道 : ReadFile after ConnectNamedPipe return ERROR_BROKEN_PIPE

我重新激活了我确定在几个月前使用过的代码。它让我发疯,但它不再是了。我在其他问题中找不到答案。在服务器端,我使用创建了一个管道#defineMAX_MESSAGE_LENGTH1024SECURITY_ATTRIBUTESsa;SECURITY_DESCRIPTORsd;InitializeSecurityDescriptor(&sd,SECURITY_DESCRIPTOR_REVISION);SetSecurityDescriptorDacl(&sd,TRUE,static_cast(0),FALSE);sa.nLength=sizeof(sa);sa.lpSecurityDescr