问题标签 [named-pipes]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1626 浏览

c++ - unistd.h read() 正在读取更多数据然后被写入

我正在从命名管道读取/写入数据。在写入方面,它说它正在写入一个恒定的 110 字节。在阅读方面,大部分时间它说它正在读取 110 个字节,这是正确的,但其他时候它说它正在读取 220 个字节或 330 个字节。事实上,当我打印它时,它会在同一个 read() 中连续打印两到三遍相同的消息。在下面的阅读代码中,我是否对 memset 做错了什么来清除字符?我想不出任何其他方式,它读取的内容比写入的内容多,除非缓冲区中剩下一些东西。

0 投票
3 回答
36168 浏览

c# - System.IO.Exception:管道损坏

我有两个通过命名管道相互通信的 .NET 应用程序。第一次通过一切都很好,但是在发送第一条消息之后,服务器将再次侦听,该WaitForConnection()方法抛出一个System.IO.Exception带有消息的管道已损坏。
为什么我在这里得到这个异常?这是我第一次使用管道,但过去对我来说类似的模式也适用于套接字。

代码啊!
服务器:

客户:

第一次调用 sendDownPipe 让服务器打印我发送的消息就好了,但是当它循环回来再次收听时,它便便。

0 投票
3 回答
490 浏览

c++ - 在 write() 写入的字节数少于请求的字节数后,如何让线程继续?

我正在使用以下代码通过命名管道将数据从一个应用程序写入另一个应用程序。永远不要退出写入发生的线程。但是,如果 r_write() 返回的值少于应有的值,则线程/程序会因某种原因停止。一旦 write 返回的返回值少于应有的值,如何使线程继续?

0 投票
4 回答
1062 浏览

c++ - 如何保证 read() 实际上通过命名管道发送 write() 发送的 100% 数据

我有以下两个程序,一个充当读者,另一个充当作家。作者似乎只正确发送了大约 3/4 的数据以供读者阅读。有没有办法保证所有数据都被发送?我想我已经设置好它可以可靠地读取和写入,但它似乎仍然错过了 1/4 的数据。

这里是作者的来源

}

这是读者的来源

}

0 投票
2 回答
6538 浏览

python - FIFO(命名管道)消息传递障碍

我计划使用 Unix 命名管道 (mkfifo) 进行简单的多进程消息传递。一条消息将只是一行文本。

你会劝阻我吗?我应该期待什么障碍?

我注意到了这些限制:

  1. 在收到消息之前,发件人无法继续。
  2. 接收器被阻塞,直到有一些数据。当我们需要停止读取时,将需要非阻塞 IO。例如,另一个线程可能会要求这样做。
  3. 接收者可以在一次读取中获得许多消息。这些必须在退出前处理。
  4. 原子消息的最大长度限制为 4096 字节。这是 Linux 上的 PIPE_BUF 限制(参见 man 7 pipe)。

我将在 Python 中实现消息传递。但障碍普遍存在。

0 投票
1 回答
4742 浏览

.net - C#/WPF应用程序实现app CLI的简单IPC机制

所以我一直在阅读很多关于.Net 上的进程间通信的内容。命名管道,远程处理。这一切看起来都很棒,但对于我需要做的事情来说可能有点矫枉过正。

我想为我的 WPF 应用程序添加一个命令行界面,所以我需要一个简单的 IPC 机制来将字符串从一个进程发送到已经运行的应用程序。

这样做有什么建议?

0 投票
2 回答
1957 浏览

.net - WPF 应用程序中的 WCF 命名管道

您将如何在 WPF Windows 应用程序的后台运行 WCF 命名管道服务?我似乎找不到在 WPF 应用程序中运行 WCF 服务器的任何示例。

有任何想法吗?

我目前在 Application_Startup 中使用以下代码。这需要用它自己的线程运行吗?

0 投票
3 回答
4008 浏览

.net - WCF 命名管道安全和多用户会话?

我已经设置了一个使用 Mutex 的单实例 WPF 应用程序,如果您使用用户切换,这允许应用程序在每个用户帐户中运行。该应用程序设置了一个 WCF 命名管道,以便我可以从另一个进程与单个实例进行通信(即,当第二个进程在由于互斥体而终止之前运行时)。

我想知道是否应该采取任何措施(最佳实践)来保护命名管道?

另外我想知道命名管道消息是否会到达系统内的所有正在运行的进程或仅在当前用户会话中。如果命名管道在系统范围内发送,那么将通信限制为当前用户会话的最佳实现是什么?

0 投票
1 回答
6237 浏览

windows - 在 Windows 上,Everyone 和 Authenticated Users 组中有哪些人?

我的应用程序使用命名管道来执行 IPC。我应该对其进行什么访问控制,以提供广泛的仅限本地访问?

该管道是由 .net 2.0 远程协议创建的,它已经有一个 ACL 用于 'NETWORK' 组以拒绝所有访问,所以我认为只有本地用户可以访问它。在我的远程配置文件中,我需要选择一个可以访问此管道的“授权组”。

我希望在本地机器上运行的任何进程都可以访问我的命名管道。

我似乎需要在“Everyone”组或“Authenticated Users”组的访问权限之间进行选择。鉴于仅限本地访问,哪些进程可能在“每个人”组下运行,但不在“经过身份验证的用户”组中?

我对 Windows XP 及更高版本的答案感兴趣。

0 投票
2 回答
1414 浏览

bash - Shell 脚本 - 管道和重定向

我正在使用CocoaDialog在执行下载脚本期间提供一些反馈。我希望在我们进行命令操作时呈现一个不确定的进度条。这可以通过在操作期间将文本传送到 CocoaDialog 来实现。

http://cocoadialog.sourceforge.net/documentation.html#progressbar_control

我以为我可以使用一个命令来做到这一点,如下所示:

但这不起作用。

这是一个更深入的 shell 脚本,它以不同的方式执行它:

http://cocoadialog.sourceforge.net/examples/progressbar.sh.txt

任何提示或提示表示赞赏。

谢谢,
马特