NamedPipeClientStream一次性连接

时间:2012-03-14 21:29:53

标签: c# named-pipes

我有Windows服务,它从TCP连接接收数据,然后通过命名管道立即将相同的数据发送到Web服务。任何人都可以建议我如何设置管道,以便我连接一次管道,然后使用相同的管道进行所有传入连接。

这是我在Windows服务上的代码的一部分:

    pipeStream = new NamedPipeClientStream(".", pipename, PipeDirection.Out);
    while (true)
        {
            byte[] data = new byte[100];
            int recv = newTCP.Receive(data, ref tmpRemote);
            try
            {
                pipeStream.Connect(3);
                pipeStream.Write(data,0,recv);
        }

1 个答案:

答案 0 :(得分:0)

移动pipeStream.Connect(3);就在之前(真实); 所以现在你有了可以一遍又一遍地用来写的流。 现在,在每次写入之后,如果您想立即获取数据,请确保调用flush方法:

pipeStream = new NamedPipeClientStream(".", pipename, PipeDirection.Out);
pipeStrea.Connect(3);
while(true)
{
    ... // Get your TCP data
    pipeStream.Write(data,0,recv);
    pipeStream.Flush();