Могу ли я использовать именованные каналы в качестве файлов в Windows?

Я создаю сервер именованных каналов с моим приложением .NET, и его имя "TSPipe". Затем я открываю Блокнот и пытаюсь сохранить файл в "\.\pipe\TSPipe". Затем я хочу иметь возможность прочитать, что блокнот написал в эту трубу.

Я все еще разрабатываю общую логику для потока, обрабатывающего NamedPipeServerStream, но вот мой код для сервера именованных каналов:

    public void PipeThread() {
        var sid = new SecurityIdentifier(WellKnownSidType.WorldSid, null);
        var rule = new PipeAccessRule(sid, PipeAccessRights.ReadWrite, AccessControlType.Allow);
        var sec = new PipeSecurity();

        sec.AddAccessRule(rule);

        while (continuePipeThread) {
            pipeStream = new NamedPipeServerStream("TSPipe", PipeDirection.In, 100, PipeTransmissionMode.Byte, PipeOptions.None, 0, 0, sec);

            Program.Output.PrintLine("Waiting for connection...");

            pipeStream.WaitForConnection();

            Program.Output.PrintLine("Connected, reading...");

            byte[] data = new byte[1024];
            int lenRead = 0;
            lenRead = pipeStream.Read(data, 0, data.Length);
            string line = System.Text.Encoding.ASCII.GetString(data, 0, lenRead);

            Program.Output.PrintLine(line);

            pipeStream.Close();
            pipeStream.Dispose();
        }
    }

Заранее спасибо за любую помощь, но я дам вам знать, если возникнут какие-либо предложения помогают!

5
задан Mat 6 November 2013 в 05:44
поделиться