J'ai ce que (je pense) est une tâche relativement simple. Je dois fournir à certaines applications C# un moyen d'invoquer mon application Python et de transmettre des données pour le traitement et de recevoir les résultats à la fin de la tâche Python (les deux sont des applications GUI.)échanger des données via des tuyaux entre C# et cPython
Je pensais que les tuyaux feraient le travail bien avec le côté C# créer un tube nommé ainsi
using (NamedPipeServerStream pipeServer =
new NamedPipeServerStream("Demo", PipeDirection.InOut))
{// Wait for a client to connect
pipeServer.WaitForConnection();
l'application peut p/invoquer l'application python passant le nom du tuyau dans sysarg, etc.
sur le côté python, une fois que le tuyau nom est connu et en utilisant win32pipe quelque chose comme
message = 'a test'
pipeName = '\\\\.\\pipe\\Demo'
win32pipe.CallNamedPipe(pipeName, message, 4096 , win32pipe.NMPWAIT_WAIT_FOREVER)
devrait fonctionner.
Ce qui se passe est que le C# détecte la connexion entrante mais le côté python « plantages » sur une erreur infâme. (87, 'CallNmaedPipe »," Le paramètre est incorrect)
Je ne suis pas expert