我正在创建一个应用程序,其中有三个组件:
EXE1将数据写入管道,然后WCF读取数据并将其发送给EXE2。但场景是,EXE1将数据写入管道以供loop.So使用--我只想知道,假设EXE1已经将数据写入管道,但wcf正在做其他一些工作,而不是在这种情况下读取数据yet.Now EXE1试图写入第二个data.So的操作,无论以前的数据是重写的还是EXE1等待wcf服务的时间。
我想控制这种情况,直到wcf EXE1没有读取第一批数据,我想要同步地将数据发送到EXE2。
我怎么能这么做?
发布于 2012-08-17 06:30:30
因为它被命名为管道数据,所以首先出现的是管道数据,而管道中的数据不被覆盖。
对于在另一端读取之前等待写入:您最好控制在另一端的读取量(例如,将消息长度作为第一个字节)。所以读者知道它应该读多少,并且只读那么多的时间从管道。
发布于 2012-08-17 06:27:35
您必须让WCF服务确认它将要接收的一组特定的bytes。
因此,Exe1发送10个字节,等待WCF确认。
如果WCF不承认,Exe1将重新发送它(超时)!
如果WCF确认了这一点,那么您将发送下一个10字节,以此类推…
https://stackoverflow.com/questions/12000667
复制相似问题