У меня есть то, что (я думаю) является относительно простой задачей.Я должен предоставить некоторому приложению C # способ вызывать мое приложение Python и передавать некоторые данные для обработки и получения результатов в конце задачи Python (оба приложения GUI.
Я думал, что каналы будутхорошо выполняйте работу со стороной C #, создавая именованный канал, таким образом
using (NamedPipeServerStream pipeServer =
new NamedPipeServerStream("Demo", PipeDirection.InOut))
{// Wait for a client to connect
pipeServer.WaitForConnection();
приложение может p / вызывать приложение python, передавая имя канала в sysarg и т. д.
нана стороне Python, как только имя канала известно и использование win32pipe должно работать, например,
message = 'a test'
pipeName = '\\\\.\\pipe\\Demo'
win32pipe.CallNamedPipe(pipeName, message, 4096 , win32pipe.NMPWAIT_WAIT_FOREVER)
.
Что происходит, когда C # обнаруживает входящее соединение, но сторона Python "падает" напечально известная ошибка: (87, «CallNmaedPipe», «Неверный параметр»).
Я не специалист по каналам и не могу понять, что здесь может быть не так.