首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >管道通信

管道通信
EN

Stack Overflow用户
提问于 2012-08-17 06:16:09
回答 2查看 185关注 0票数 0

我正在创建一个应用程序,其中有三个组件:

  • EXE1
  • WCF服务
  • EXE2

EXE1将数据写入管道,然后WCF读取数据并将其发送给EXE2。但场景是,EXE1将数据写入管道以供loop.So使用--我只想知道,假设EXE1已经将数据写入管道,但wcf正在做其他一些工作,而不是在这种情况下读取数据yet.Now EXE1试图写入第二个data.So的操作,无论以前的数据是重写的还是EXE1等待wcf服务的时间。

我想控制这种情况,直到wcf EXE1没有读取第一批数据,我想要同步地将数据发送到EXE2。

我怎么能这么做?

EN

回答 2

Stack Overflow用户

发布于 2012-08-17 06:30:30

因为它被命名为管道数据,所以首先出现的是管道数据,而管道中的数据不被覆盖。

对于在另一端读取之前等待写入:您最好控制在另一端的读取量(例如,将消息长度作为第一个字节)。所以读者知道它应该读多少,并且只读那么多的时间从管道。

票数 1
EN

Stack Overflow用户

发布于 2012-08-17 06:27:35

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

因此,Exe1发送10个字节,等待WCF确认。

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

如果WCF确认了这一点,那么您将发送下一个10字节,以此类推…

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12000667

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档