Bonjour,

J'ai une dll écrite en C++ qui prend en paramètre un handle de pipe pour écrire des infos dans un pipe de communication.
J'avais une autre dll en C++ qui faisait la création et la lecture du pipe. J'ai besoin de réécrire cette partie dans une dll C#, j'ai donc tenté d'utiliser les NamedPipeStream:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
public class Pipe
{
	private NamedPipeServerStream pipeServer;
	public Pipe()
	{
		pipeServer = new NamedPipeServerStream("testpipe", PipeDirection.InOut);
             }
 
              public string Handle
	{
		get{return pipeServer.SafePipeHandle.DangerousGetHandle().ToString();}
             }
 
              public void Read()
	{
		using(NamedPipeClientStream pipeClient =new NamedPipeClientStream(".", "testpipe", PipeDirection.InOut))
		{
 
			Console.Write("Attempting to connect to pipe...");
			pipeClient.Connect();
                                      Console.WriteLine("Connected to pipe.");
								                          using(StreamReader sr = new StreamReader(pipeClient))
			{								            string temp;
				while((temp = sr.ReadLine()) != null)
				{
							Console.WriteLine("Received from server: {0}", temp);
				}
 
			}
 
		}
             }
}
Je passe le handle à ma dll C++ qui semble bien écrire dans le pipe. J'appelle la méthode Read dans un thread , mais je ne récupère rien lors de la lecture

Est ce que ma méthode vous semble correcte? y'a t'il un obstacle à ce que la dll C++ écrive dans le pipe C#?