Именованные каналы между C # и Python

Я пытаюсь создать двусторонний канал связи между двумя программами (одна на Python, а другая на C #)

Когда я создаю именованный канал между двумя программами C # или двумя программами Python, все в порядке, но когда я пытаюсь (например) подключиться к серверу C # из кода Python, это не работает:

Код C #:

NamedPipeServerStream server = new NamedPipeServerStream(
    "Demo", PipeDirection.InOut, 100, PipeTransmissionMode.Byte,
    PipeOptions.None, 4096, 4096)

Если я используюwin32pipe в Python блоки кода наConnectNamedPipe (никогда не возвращается)

p = win32pipe.CreateNamedPipe(
    r'\\.\pipe\Demo',
    win32pipe.PIPE_ACCESS_DUPLEX,
    win32pipe.PIPE_TYPE_BYTE | win32pipe.PIPE_WAIT,
    1, 65536, 65536,
    300,
    None)
win32pipe.ConnectNamedPipe(p)

Если я использую функцию open, она просто устанавливает соединение, но ничего не происходит:

open( '\\\\.\\pipe\\Demo', 'r+b' )

Теперь, если я закрою программу Python, сервер C # получает только один элемент данных из Python иSystem.IO.IOException поднимает с "Труба сломана сообщение

Я делаю что-то не так?

Ответы на вопрос(3)

Ваш ответ на вопрос