繁体   English   中英

管道通讯

[英]Pipe communication

我正在创建一个包含三个组件的应用程序:

  • EXE1
  • WCF服务
  • EXE2

EXE1将数据写入管道,然后WCF读取数据并将其发送到EXE2。 但是情况是,EXE1将数据写入管道以进行for循环。所以我只想知道,假设EXE1已将数据写入管道,但是wcf正在做其他工作并且尚未读取该数据。现在EXE1正在尝试写入第二个数据。在这种情况下,是覆盖先前的数据还是EXE1等待一段时间以获取wcf服务。

我想控制这种情况,直到wcf EXE1无法读取第一个数据,必须等待一段时间。我想将数据同步发送到EXE2。

我怎样才能做到这一点?

因为它的名字叫PIPE ,所以先输入的数据首先出现,并且管道中的数据不会被覆盖。

为了在另一端读取之前等待写入:您最好控制另一端的读取量(例如,将消息长度作为第一个字节传递)。 因此,读者知道应该读取多少内容,并且一次只能从管道读取那么多的内容。

您将必须使WCF服务确认其将要接收的一组特定bytes

因此, Exe1发送10个字节并等待WCF对其进行确认。

如果WCF不确认, Exe1将重新发送它(超时)!

如果WCF确认,您将发送下一个10字节,依此类推.....

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM